<?xml version="1.0" encoding="UTF-8"?>
<device schemaVersion="1.3" xmlns:xs="http://www.w3.org/2001/XMLSchema-instance" xs:noNamespaceSchemaLocation="CMSIS-SVD.xsd">
  <vendor>nxp.com</vendor>
  <name>LPC51U68</name>
  <version>1.0</version>
  <description>LPC51U68JBD48,LPC51U68JBD64</description>
  <licenseText>
The Clear BSD License
Copyright 2016-2017 NXP
All rights reserved.

Redistribution and use in source and binary forms, with or without
modification, are permitted (subject to the limitations in the
disclaimer below) provided that the following conditions are met:

* Redistributions of source code must retain the above copyright
  notice, this list of conditions and the following disclaimer.

* Redistributions in binary form must reproduce the above copyright
  notice, this list of conditions and the following disclaimer in the
  documentation and/or other materials provided with the distribution.

* Neither the name of the copyright holder nor the names of its
  contributors may be used to endorse or promote products derived from
  this software without specific prior written permission.

NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE
GRANTED BY THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT
HOLDERS AND CONTRIBUTORS &quot;AS IS&quot; AND ANY EXPRESS OR IMPLIED
WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  </licenseText>
  <cpu>
    <name>CM0PLUS</name>
    <revision>r0p0</revision>
    <endian>little</endian>
    <mpuPresent>false</mpuPresent>
    <fpuPresent>false</fpuPresent>
    <vtorPresent>true</vtorPresent>
    <nvicPrioBits>2</nvicPrioBits>
    <vendorSystickConfig>false</vendorSystickConfig>
  </cpu>
  <addressUnitBits>8</addressUnitBits>
  <width>32</width>
  <peripherals>
    <peripheral>
      <name>SYSCON</name>
      <description>LPC51u68 System configuration (SYSCON)</description>
      <groupName>SYSCON</groupName>
      <baseAddress>0x40000000</baseAddress>
      <addressBlock>
        <offset>0</offset>
        <size>0x20048</size>
        <usage>registers</usage>
      </addressBlock>
      <registers>
        <register>
          <name>AHBMATPRIO</name>
          <description>AHB multilayer matrix priority control</description>
          <addressOffset>0x10</addressOffset>
          <size>32</size>
          <access>read-write</access>
          <resetValue>0</resetValue>
          <resetMask>0xFFF</resetMask>
          <fields>
            <field>
              <name>PRI_M0</name>
              <description>Cortex-M0+ bus priority. Present on selected devices.</description>
              <bitOffset>6</bitOffset>
              <bitWidth>2</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>PRI_USB</name>
              <description>USB interface priority.</description>
              <bitOffset>8</bitOffset>
              <bitWidth>2</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>PRI_DMA</name>
              <description>DMA controller priority.</description>
              <bitOffset>10</bitOffset>
              <bitWidth>2</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>SYSTCKCAL</name>
          <description>System tick counter calibration</description>
          <addressOffset>0x40</addressOffset>
          <size>32</size>
          <access>read-write</access>
          <resetValue>0</resetValue>
          <resetMask>0x3FFFFFF</resetMask>
          <fields>
            <field>
              <name>CAL</name>
              <description>System tick timer calibration value.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>24</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>SKEW</name>
              <description>Initial value for the Systick timer.</description>
              <bitOffset>24</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>NOREF</name>
              <description>Initial value for the Systick timer.</description>
              <bitOffset>25</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>NMISRC</name>
          <description>NMI Source Select</description>
          <addressOffset>0x48</addressOffset>
          <size>32</size>
          <access>read-write</access>
          <resetValue>0</resetValue>
          <resetMask>0xC0003F3F</resetMask>
          <fields>
            <field>
              <name>IRQM0</name>
              <description>The IRQ number of the interrupt that acts as the Non-Maskable Interrupt (NMI) for the Cortex-M0+, if enabled by NMIENM0. Present on selected devices.</description>
              <bitOffset>8</bitOffset>
              <bitWidth>6</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>NMIENM0</name>
              <description>Write a 1 to this bit to enable the Non-Maskable Interrupt (NMI) source selected by IRQM0. Present on selected devices.</description>
              <bitOffset>30</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>NMIENM4</name>
              <description>Write a 1 to this bit to enable the Non-Maskable Interrupt (NMI) source selected by IRQM4.</description>
              <bitOffset>31</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>ASYNCAPBCTRL</name>
          <description>Asynchronous APB Control</description>
          <addressOffset>0x4C</addressOffset>
          <size>32</size>
          <access>read-write</access>
          <resetValue>0x1</resetValue>
          <resetMask>0x1</resetMask>
          <fields>
            <field>
              <name>ENABLE</name>
              <description>Enables the asynchronous APB bridge and subsystem.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>DISABLED</name>
                  <description>Disabled. Asynchronous APB bridge is disabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ENABLED</name>
                  <description>Enabled. Asynchronous APB bridge is enabled.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <dim>2</dim>
          <dimIncrement>0x4</dimIncrement>
          <name>PIOPORCAP[%s]</name>
          <description>POR captured value of port n</description>
          <addressOffset>0xC0</addressOffset>
          <size>32</size>
          <access>read-only</access>
          <resetValue>0</resetValue>
          <resetMask>0xFFFFFFFF</resetMask>
          <fields>
            <field>
              <name>PIOPORCAP</name>
              <description>State of PIOn_31 through PIOn_0 at power-on reset</description>
              <bitOffset>0</bitOffset>
              <bitWidth>32</bitWidth>
              <access>read-only</access>
            </field>
          </fields>
        </register>
        <register>
          <dim>2</dim>
          <dimIncrement>0x4</dimIncrement>
          <name>PIORESCAP[%s]</name>
          <description>Reset captured value of port n</description>
          <addressOffset>0xD0</addressOffset>
          <size>32</size>
          <access>read-only</access>
          <resetValue>0</resetValue>
          <resetMask>0xFFFFFFFF</resetMask>
          <fields>
            <field>
              <name>PIORESCAP</name>
              <description>State of PIOn_31 through PIOn_0 for resets other than POR.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>32</bitWidth>
              <access>read-only</access>
            </field>
          </fields>
        </register>
        <register>
          <name>PRESETCTRL0</name>
          <description>Peripheral reset control n</description>
          <addressOffset>0x100</addressOffset>
          <size>32</size>
          <access>read-write</access>
          <resetValue>0</resetValue>
          <resetMask>0x87CED80</resetMask>
          <fields>
            <field>
              <name>FLASH_RST</name>
              <description>Flash controller reset control. 0 = Clear reset to this function. 1 = Assert reset to this function.</description>
              <bitOffset>7</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>FMC_RST</name>
              <description>Flash accelerator reset control. Note that the FMC must not be reset while executing from flash, and must be reconfigured after reset. 0 = Clear reset to this function. 1 = Assert reset to this function.</description>
              <bitOffset>8</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>MUX_RST</name>
              <description>Input mux reset control. 0 = Clear reset to this function. 1 = Assert reset to this function.</description>
              <bitOffset>11</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>IOCON_RST</name>
              <description>IOCON reset control. 0 = Clear reset to this function. 1 = Assert reset to this function.</description>
              <bitOffset>13</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>GPIO0_RST</name>
              <description>GPIO0 reset control. 0 = Clear reset to this function. 1 = Assert reset to this function.</description>
              <bitOffset>14</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>GPIO1_RST</name>
              <description>GPIO1 reset control. 0 = Clear reset to this function. 1 = Assert reset to this function.</description>
              <bitOffset>15</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>PINT_RST</name>
              <description>Pin interrupt (PINT) reset control. 0 = Clear reset to this function. 1 = Assert reset to this function.</description>
              <bitOffset>18</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>GINT_RST</name>
              <description>Grouped interrupt (GINT) reset control. 0 = Clear reset to this function. 1 = Assert reset to this function.</description>
              <bitOffset>19</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>DMA0_RST</name>
              <description>DMA0 reset control. 0 = Clear reset to this function. 1 = Assert reset to this function.</description>
              <bitOffset>20</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>CRC_RST</name>
              <description>CRC generator reset control. 0 = Clear reset to this function. 1 = Assert reset to this function.</description>
              <bitOffset>21</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>WWDT_RST</name>
              <description>Watchdog timer reset control. 0 = Clear reset to this function. 1 = Assert reset to this function.</description>
              <bitOffset>22</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>ADC0_RST</name>
              <description>ADC0 reset control. 0 = Clear reset to this function. 1 = Assert reset to this function.</description>
              <bitOffset>27</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>PRESETCTRL1</name>
          <description>Peripheral reset control n</description>
          <addressOffset>0x104</addressOffset>
          <size>32</size>
          <access>read-write</access>
          <resetValue>0</resetValue>
          <resetMask>0xE4FFC05</resetMask>
          <fields>
            <field>
              <name>MRT0_RST</name>
              <description>Multi-rate timer (MRT0) reset control. 0 = Clear reset to this function. 1 = Assert reset to this function.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>SCT0_RST</name>
              <description>State configurable timer 0 (SCT0) reset control. 0 = Clear reset to this function. 1 = Assert reset to this function.</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>UTICK0_RST</name>
              <description>Micro-tick Timer reset control. 0 = Clear reset to this function. 1 = Assert reset to this function.</description>
              <bitOffset>10</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>FC0_RST</name>
              <description>Flexcomm 0 reset control. 0 = Clear reset to this function. 1 = Assert reset to this function.</description>
              <bitOffset>11</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>FC1_RST</name>
              <description>Flexcomm 1 reset control. 0 = Clear reset to this function. 1 = Assert reset to this function.</description>
              <bitOffset>12</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>FC2_RST</name>
              <description>Flexcomm 2 reset control. 0 = Clear reset to this function. 1 = Assert reset to this function.</description>
              <bitOffset>13</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>FC3_RST</name>
              <description>Flexcomm 3 reset control. 0 = Clear reset to this function. 1 = Assert reset to this function.</description>
              <bitOffset>14</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>FC4_RST</name>
              <description>Flexcomm 4 reset control. 0 = Clear reset to this function. 1 = Assert reset to this function.</description>
              <bitOffset>15</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>FC5_RST</name>
              <description>Flexcomm 5 reset control. 0 = Clear reset to this function. 1 = Assert reset to this function.</description>
              <bitOffset>16</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>FC6_RST</name>
              <description>Flexcomm 6 reset control. 0 = Clear reset to this function. 1 = Assert reset to this function.</description>
              <bitOffset>17</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>FC7_RST</name>
              <description>Flexcomm 7 reset control. 0 = Clear reset to this function. 1 = Assert reset to this function.</description>
              <bitOffset>18</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>USB0_RST</name>
              <description>USB0 reset control. 0 = Clear reset to this function. 1 = Assert reset to this function.</description>
              <bitOffset>25</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>CTIMER0_RST</name>
              <description>CTIMER0 reset control. 0 = Clear reset to this function. 1 = Assert reset to this function.</description>
              <bitOffset>26</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>CTIMER1_RST</name>
              <description>CTIMER1 reset control. 0 = Clear reset to this function. 1 = Assert reset to this function.</description>
              <bitOffset>27</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <dim>2</dim>
          <dimIncrement>0x4</dimIncrement>
          <name>PRESETCTRLSET[%s]</name>
          <description>Set bits in PRESETCTRLn</description>
          <addressOffset>0x120</addressOffset>
          <size>32</size>
          <access>write-only</access>
          <resetValue>0</resetValue>
          <resetMask>0</resetMask>
          <fields>
            <field>
              <name>RST_SET</name>
              <description>Writing ones to this register sets the corresponding bit or bits in the PRESETCTRLn register, if they are implemented. Bits that do not correspond to defined bits in PRESETCTRLn are reserved and only zeroes should be written to them.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>32</bitWidth>
              <access>write-only</access>
            </field>
          </fields>
        </register>
        <register>
          <dim>2</dim>
          <dimIncrement>0x4</dimIncrement>
          <name>PRESETCTRLCLR[%s]</name>
          <description>Clear bits in PRESETCTRLn</description>
          <addressOffset>0x140</addressOffset>
          <size>32</size>
          <access>write-only</access>
          <resetValue>0</resetValue>
          <resetMask>0</resetMask>
          <fields>
            <field>
              <name>RST_CLR</name>
              <description>Writing ones to this register clears the corresponding bit or bits in the PRESETCTRLn register, if they are implemented. Bits that do not correspond to defined bits in PRESETCTRLn are reserved and only zeroes should be written to them.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>32</bitWidth>
              <access>write-only</access>
            </field>
          </fields>
        </register>
        <register>
          <name>SYSRSTSTAT</name>
          <description>System reset status register</description>
          <addressOffset>0x1F0</addressOffset>
          <size>32</size>
          <access>read-write</access>
          <resetValue>0</resetValue>
          <resetMask>0x1F</resetMask>
          <fields>
            <field>
              <name>POR</name>
              <description>POR reset status</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>NO_POR_DETECTED</name>
                  <description>No POR detected</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>POR_DETECTED</name>
                  <description>POR detected. Writing a one clears this reset.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>EXTRST</name>
              <description>Status of the external RESET pin. External reset status</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>NO_RESET_DETECTED</name>
                  <description>No reset event detected.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>RESET_DETECTED</name>
                  <description>Reset detected. Writing a one clears this reset.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>WDT</name>
              <description>Status of the Watchdog reset</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>NO_WDT_RESET_DETECTED</name>
                  <description>No WDT reset detected</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>WDT_RESET_DETECTED</name>
                  <description>WDT reset detected. Writing a one clears this reset.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>BOD</name>
              <description>Status of the Brown-out detect reset</description>
              <bitOffset>3</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>NO_BOD_RESET_DETECTED</name>
                  <description>No BOD reset detected</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>BOD_RESET_DETECTED</name>
                  <description>BOD reset detected. Writing a one clears this reset.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>SYSRST</name>
              <description>Status of the software system reset</description>
              <bitOffset>4</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>NO_SYSTEM_RESET_DETECTED</name>
                  <description>No System reset detected</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>SYSTEM_RESET_DETECTED</name>
                  <description>System reset detected. Writing a one clears this reset.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>AHBCLKCTRL0</name>
          <description>AHB Clock control n</description>
          <addressOffset>0x200</addressOffset>
          <size>32</size>
          <access>read-write</access>
          <resetValue>0x183</resetValue>
          <resetMask>0x8FFF983</resetMask>
          <fields>
            <field>
              <name>ROM</name>
              <description>Enables the clock for the Boot ROM. 0 = Disable; 1 = Enable.</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>FLASH</name>
              <description>Enables the clock for the flash controller. 0 = Disable; 1 = Enable. This clock is needed for flash programming, not for flash read.</description>
              <bitOffset>7</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>FMC</name>
              <description>Enables the clock for the Flash accelerator. 0 = Disable; 1 = Enable. This clock is needed if the flash is being read.</description>
              <bitOffset>8</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>INPUTMUX</name>
              <description>Enables the clock for the input muxes. 0 = Disable; 1 = Enable.</description>
              <bitOffset>11</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>IOCON</name>
              <description>Enables the clock for the IOCON block. 0 = Disable; 1 = Enable.</description>
              <bitOffset>13</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>GPIO0</name>
              <description>Enables the clock for the GPIO0 port registers. 0 = Disable; 1 = Enable.</description>
              <bitOffset>14</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>GPIO1</name>
              <description>Enables the clock for the GPIO1 port registers. 0 = Disable; 1 = Enable.</description>
              <bitOffset>15</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>PINT</name>
              <description>Enables the clock for the pin interrupt block.0 = Disable; 1 = Enable.</description>
              <bitOffset>18</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>GINT</name>
              <description>Enables the clock for the grouped pin interrupt block. 0 = Disable; 1 = Enable.</description>
              <bitOffset>19</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>DMA0</name>
              <description>Enables the clock for the DMA0 controller. 0 = Disable; 1 = Enable.</description>
              <bitOffset>20</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>CRC</name>
              <description>Enables the clock for the CRC engine. 0 = Disable; 1 = Enable.</description>
              <bitOffset>21</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>WWDT</name>
              <description>Enables the clock for the Watchdog Timer. 0 = Disable; 1 = Enable.</description>
              <bitOffset>22</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>RTC</name>
              <description>Enables the bus clock for the RTC. 0 = Disable; 1 = Enable.</description>
              <bitOffset>23</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>ADC0</name>
              <description>Enables the clock for the ADC0 register interface. 0 = Disable; 1 = Enable.</description>
              <bitOffset>27</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>AHBCLKCTRL1</name>
          <description>AHB Clock control n</description>
          <addressOffset>0x204</addressOffset>
          <size>32</size>
          <access>read-write</access>
          <resetValue>0</resetValue>
          <resetMask>0xE07FC05</resetMask>
          <fields>
            <field>
              <name>MRT0</name>
              <description>Enables the clock for the Multi-Rate Timer. 0 = Disable; 1 = Enable.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>SCT0</name>
              <description>Enables the clock for SCT0. 0 = Disable; 1 = Enable.</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>UTICK0</name>
              <description>Enables the clock for the Micro-tick Timer. 0 = Disable; 1 = Enable.</description>
              <bitOffset>10</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>FLEXCOMM0</name>
              <description>Enables the clock for Flexcomm 0. 0 = Disable; 1 = Enable.</description>
              <bitOffset>11</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>FLEXCOMM1</name>
              <description>Enables the clock for Flexcomm 1. 0 = Disable; 1 = Enable.</description>
              <bitOffset>12</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>FLEXCOMM2</name>
              <description>Enables the clock for Flexcomm 2. 0 = Disable; 1 = Enable.</description>
              <bitOffset>13</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>FLEXCOMM3</name>
              <description>Enables the clock for Flexcomm 3. 0 = Disable; 1 = Enable.</description>
              <bitOffset>14</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>FLEXCOMM4</name>
              <description>Enables the clock for Flexcomm 4. 0 = Disable; 1 = Enable.</description>
              <bitOffset>15</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>FLEXCOMM5</name>
              <description>Enables the clock for Flexcomm 5. 0 = Disable; 1 = Enable.</description>
              <bitOffset>16</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>FLEXCOMM6</name>
              <description>Enables the clock for Flexcomm 6. 0 = Disable; 1 = Enable.</description>
              <bitOffset>17</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>FLEXCOMM7</name>
              <description>Enables the clock for Flexcomm 7. 0 = Disable; 1 = Enable.</description>
              <bitOffset>18</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>USB0</name>
              <description>Enables the clock for the USB0 interface. 0 = Disable; 1 = Enable.</description>
              <bitOffset>25</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>CTIMER0</name>
              <description>Enables the clock for timer CTIMER0. 0 = Disable; 1 = Enable.</description>
              <bitOffset>26</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>CTIMER1</name>
              <description>Enables the clock for timer CTIMER1. 0 = Disable; 1 = Enable.</description>
              <bitOffset>27</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <dim>2</dim>
          <dimIncrement>0x4</dimIncrement>
          <name>AHBCLKCTRLSET[%s]</name>
          <description>Set bits in AHBCLKCTRLn</description>
          <addressOffset>0x220</addressOffset>
          <size>32</size>
          <access>write-only</access>
          <resetValue>0</resetValue>
          <resetMask>0</resetMask>
          <fields>
            <field>
              <name>CLK_SET</name>
              <description>Writing ones to this register sets the corresponding bit or bits in the AHBCLKCTRLn register, if they are implemented. Bits that do not correspond to defined bits in AHBCLKCTRLn are reserved and only zeroes should be written to them.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>32</bitWidth>
              <access>write-only</access>
            </field>
          </fields>
        </register>
        <register>
          <dim>2</dim>
          <dimIncrement>0x4</dimIncrement>
          <name>AHBCLKCTRLCLR[%s]</name>
          <description>Clear bits in AHBCLKCTRLn</description>
          <addressOffset>0x240</addressOffset>
          <size>32</size>
          <access>write-only</access>
          <resetValue>0</resetValue>
          <resetMask>0</resetMask>
          <fields>
            <field>
              <name>CLK_CLR</name>
              <description>Writing ones to this register clears the corresponding bit or bits in the AHBCLKCTRLn register, if they are implemented. Bits that do not correspond to defined bits in AHBCLKCTRLn are reserved and only zeroes should be written to them.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>32</bitWidth>
              <access>write-only</access>
            </field>
          </fields>
        </register>
        <register>
          <name>MAINCLKSELA</name>
          <description>Main clock source select A</description>
          <addressOffset>0x280</addressOffset>
          <size>32</size>
          <access>read-write</access>
          <resetValue>0</resetValue>
          <resetMask>0x3</resetMask>
          <fields>
            <field>
              <name>SEL</name>
              <description>Clock source for main clock source selector A</description>
              <bitOffset>0</bitOffset>
              <bitWidth>2</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>FRO_12_MHZ</name>
                  <description>FRO 12 MHz (fro_12m)</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>CLKIN</name>
                  <description>CLKIN (clk_in)</description>
                  <value>0x1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>WATCHDOG_OSCILLATOR</name>
                  <description>Watchdog oscillator (wdt_clk)</description>
                  <value>0x2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>FRO_HF</name>
                  <description>FRO 96 or 48 MHz (fro_hf)</description>
                  <value>0x3</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>MAINCLKSELB</name>
          <description>Main clock source select B</description>
          <addressOffset>0x284</addressOffset>
          <size>32</size>
          <access>read-write</access>
          <resetValue>0</resetValue>
          <resetMask>0x3</resetMask>
          <fields>
            <field>
              <name>SEL</name>
              <description>Clock source for main clock source selector B. Selects the clock source for the main clock.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>2</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>MAINCLKSELA</name>
                  <description>MAINCLKSELA. Use the clock source selected in MAINCLKSELA register.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>SYSTEM_PLL_OUTPUT</name>
                  <description>System PLL output (pll_clk)</description>
                  <value>0x2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>RTC_OSC_OUTPUT</name>
                  <description>RTC oscillator 32 kHz output (32k_clk)</description>
                  <value>0x3</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>CLKOUTSELA</name>
          <description>CLKOUT clock source select A</description>
          <addressOffset>0x288</addressOffset>
          <size>32</size>
          <access>read-write</access>
          <resetValue>0x7</resetValue>
          <resetMask>0x7</resetMask>
          <fields>
            <field>
              <name>SEL</name>
              <description>CLKOUT clock source selection</description>
              <bitOffset>0</bitOffset>
              <bitWidth>3</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>MAIN_CLOCK</name>
                  <description>Main clock (main_clk)</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>CLKIN</name>
                  <description>CLKIN (clk_in)</description>
                  <value>0x1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>WATCHDOG_OSCILLATOR</name>
                  <description>Watchdog oscillator (wdt_clk)</description>
                  <value>0x2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>FRO_HF</name>
                  <description>FRO 96 or 48 MHz (fro_hf)</description>
                  <value>0x3</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>SYSTEM_PLL_OUTPUT</name>
                  <description>PLL output (pll_clk)</description>
                  <value>0x4</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>FRO_12_MHZ</name>
                  <description>FRO 12 MHz (fro_12m)</description>
                  <value>0x5</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>RTC_OSC_OUTPUT</name>
                  <description>RTC oscillator 32 kHz output (32k_clk)</description>
                  <value>0x6</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>NONE</name>
                  <description>None, this may be selected in order to reduce power when no output is needed.</description>
                  <value>0x7</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>SYSPLLCLKSEL</name>
          <description>PLL clock source select</description>
          <addressOffset>0x290</addressOffset>
          <size>32</size>
          <access>read-write</access>
          <resetValue>0x7</resetValue>
          <resetMask>0x7</resetMask>
          <fields>
            <field>
              <name>SEL</name>
              <description>System PLL clock source selection</description>
              <bitOffset>0</bitOffset>
              <bitWidth>3</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>FRO_12_MHZ</name>
                  <description>FRO 12 MHz (fro_12m)</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>CLKIN</name>
                  <description>CLKIN (clk_in)</description>
                  <value>0x1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>RTC_32_KHZ_CLOCK</name>
                  <description>RTC 32 kHz clock (32k_clk)</description>
                  <value>0x3</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>NONE</name>
                  <description>None, this may be selected in order to reduce power when no output is needed.</description>
                  <value>0x7</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>ADCCLKSEL</name>
          <description>ADC clock source select</description>
          <addressOffset>0x2A4</addressOffset>
          <size>32</size>
          <access>read-write</access>
          <resetValue>0x7</resetValue>
          <resetMask>0x7</resetMask>
          <fields>
            <field>
              <name>SEL</name>
              <description>ADC clock source selection</description>
              <bitOffset>0</bitOffset>
              <bitWidth>3</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>MAIN_CLOCK</name>
                  <description>Main clock (main_clk)</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>SYSTEM_PLL_OUTPUT</name>
                  <description>System PLL output (pll_clk)</description>
                  <value>0x1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>FRO_HF</name>
                  <description>FRO 96 or 48 MHz (fro_hf)</description>
                  <value>0x2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>NONE</name>
                  <description>None, this may be selected in order to reduce power when no output is needed.</description>
                  <value>0x7</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>USBCLKSEL</name>
          <description>USB clock source select</description>
          <addressOffset>0x2A8</addressOffset>
          <size>32</size>
          <access>read-write</access>
          <resetValue>0x7</resetValue>
          <resetMask>0x7</resetMask>
          <fields>
            <field>
              <name>SEL</name>
              <description>USB device clock source selection</description>
              <bitOffset>0</bitOffset>
              <bitWidth>3</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>FRO_HF</name>
                  <description>FRO 96 or 48 MHz (fro_hf)</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>SYSTEM_PLL_OUTPUT</name>
                  <description>System PLL output (pll_clk)</description>
                  <value>0x1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>MAIN_CLOCK</name>
                  <description>Main clock (main_clk)</description>
                  <value>0x2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>NONE</name>
                  <description>None, this may be selected in order to reduce power when no output is needed.</description>
                  <value>0x7</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <dim>8</dim>
          <dimIncrement>0x4</dimIncrement>
          <name>FXCOMCLKSEL[%s]</name>
          <description>Flexcomm0 clock source select</description>
          <addressOffset>0x2B0</addressOffset>
          <size>32</size>
          <access>read-write</access>
          <resetValue>0x7</resetValue>
          <resetMask>0x7</resetMask>
          <fields>
            <field>
              <name>SEL</name>
              <description>Flexcomm clock source selection. One per Flexcomm.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>3</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>FRO_12_MHZ</name>
                  <description>FRO 12 MHz (fro_12m)</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>FRO_HF</name>
                  <description>FRO 96 or 48 MHz (fro_hf)</description>
                  <value>0x1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>SYSTEM_PLL_OUTPUT</name>
                  <description>System PLL output (pll_clk)</description>
                  <value>0x2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>MCLK_INPUT</name>
                  <description>MCLK pin input, when selected in IOCON (mclk_in)</description>
                  <value>0x3</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>FRG_CLOCK_OUTPUT</name>
                  <description>FRG clock, the output of the fractional rate generator (frg_clk)</description>
                  <value>0x4</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>NONE</name>
                  <description>None, this may be selected in order to reduce power when no output is needed.</description>
                  <value>0x7</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>MCLKCLKSEL</name>
          <description>MCLK clock source select</description>
          <addressOffset>0x2E0</addressOffset>
          <size>32</size>
          <access>read-write</access>
          <resetValue>0x7</resetValue>
          <resetMask>0x7</resetMask>
          <fields>
            <field>
              <name>SEL</name>
              <description>MCLK source select. This may be used by Flexcomms that support I2S, and/or by the digital microphone subsystem.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>3</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>FRO_HF</name>
                  <description>FRO 96 or 48 MHz (fro_hf)</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>SYSTEM_PLL_OUTPUT</name>
                  <description>System PLL output (pll_clk)</description>
                  <value>0x1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>MAIN_CLOCK</name>
                  <description>Main clock (main_clk)</description>
                  <value>0x2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>NONE</name>
                  <description>None, this may be selected in order to reduce power when no output is needed.</description>
                  <value>0x7</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>FRGCLKSEL</name>
          <description>Fractional Rate Generator clock source select</description>
          <addressOffset>0x2E8</addressOffset>
          <size>32</size>
          <access>read-write</access>
          <resetValue>0x7</resetValue>
          <resetMask>0x7</resetMask>
          <fields>
            <field>
              <name>SEL</name>
              <description>Fractional Rate Generator clock source select.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>3</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>MAIN_CLOCK</name>
                  <description>Main clock (main_clk)</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>SYSTEM_PLL_OUTPUT</name>
                  <description>System PLL output (pll_clk)</description>
                  <value>0x1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>FRO_12_MHZ</name>
                  <description>FRO 12 MHz (fro_12m)</description>
                  <value>0x2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>FRO_HF</name>
                  <description>FRO 96 or 48 MHz (fro_hf)</description>
                  <value>0x3</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>NONE</name>
                  <description>None, this may be selected in order to reduce power when no output is needed.</description>
                  <value>0x7</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>SYSTICKCLKDIV</name>
          <description>SYSTICK clock divider</description>
          <addressOffset>0x300</addressOffset>
          <size>32</size>
          <access>read-write</access>
          <resetValue>0</resetValue>
          <resetMask>0xFF</resetMask>
          <fields>
            <field>
              <name>DIV</name>
              <description>Clock divider value. 0: Divide by 1 up to 255: Divide by 256.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>8</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>AHBCLKDIV</name>
          <description>AHB clock divider</description>
          <addressOffset>0x380</addressOffset>
          <size>32</size>
          <access>read-write</access>
          <resetValue>0</resetValue>
          <resetMask>0xFF</resetMask>
          <fields>
            <field>
              <name>DIV</name>
              <description>Clock divider value. 0: Divide by 1 up to 255: Divide by 256.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>8</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>CLKOUTDIV</name>
          <description>CLKOUT clock divider</description>
          <addressOffset>0x384</addressOffset>
          <size>32</size>
          <access>read-write</access>
          <resetValue>0</resetValue>
          <resetMask>0xFF</resetMask>
          <fields>
            <field>
              <name>DIV</name>
              <description>Clock divider value. 0: Divide by 1 up to 255: Divide by 256.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>8</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>ADCCLKDIV</name>
          <description>ADC clock divider</description>
          <addressOffset>0x394</addressOffset>
          <size>32</size>
          <access>read-write</access>
          <resetValue>0</resetValue>
          <resetMask>0xFF</resetMask>
          <fields>
            <field>
              <name>DIV</name>
              <description>Clock divider value. 0: Divide by 1 up to 255: Divide by 256.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>8</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>USBCLKDIV</name>
          <description>USB clock divider</description>
          <addressOffset>0x398</addressOffset>
          <size>32</size>
          <access>read-write</access>
          <resetValue>0</resetValue>
          <resetMask>0xFF</resetMask>
          <fields>
            <field>
              <name>DIV</name>
              <description>Clock divider value. 0: Divide by 1 up to 255: Divide by 256.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>8</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>FRGCTRL</name>
          <description>Fractional rate divider</description>
          <addressOffset>0x3A0</addressOffset>
          <size>32</size>
          <access>read-write</access>
          <resetValue>0xFF</resetValue>
          <resetMask>0xFFFF</resetMask>
          <fields>
            <field>
              <name>DIV</name>
              <description>Denominator of the fractional divider. DIV is equal to the programmed value +1. Always set to 0xFF to use with the fractional baud rate generator.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>8</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>MULT</name>
              <description>Numerator of the fractional divider. MULT is equal to the programmed value.</description>
              <bitOffset>8</bitOffset>
              <bitWidth>8</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>MCLKDIV</name>
          <description>I2S MCLK clock divider</description>
          <addressOffset>0x3AC</addressOffset>
          <size>32</size>
          <access>read-write</access>
          <resetValue>0</resetValue>
          <resetMask>0xFF</resetMask>
          <fields>
            <field>
              <name>DIV</name>
              <description>Clock divider value. 0: Divide by 1 up to 255: Divide by 256.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>8</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>FLASHCFG</name>
          <description>Flash wait states configuration</description>
          <addressOffset>0x400</addressOffset>
          <size>32</size>
          <access>read-write</access>
          <resetValue>0x1A</resetValue>
          <resetMask>0xF07F</resetMask>
          <fields>
            <field>
              <name>FETCHCFG</name>
              <description>Instruction fetch configuration. This field determines how flash accelerator buffers are used for instruction fetches.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>2</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>NO_BUFFER</name>
                  <description>Instruction fetches from flash are not buffered. Every fetch request from the CPU results in a read of the flash memory. This setting may use significantly more power than when buffering is enabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ONE_BUFFER</name>
                  <description>One buffer is used for all instruction fetches.</description>
                  <value>0x1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALL_BUFFERS</name>
                  <description>All buffers may be used for instruction fetches.</description>
                  <value>0x2</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>DATACFG</name>
              <description>Data read configuration. This field determines how flash accelerator buffers are used for data accesses.</description>
              <bitOffset>2</bitOffset>
              <bitWidth>2</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>NOT_BUFFERED</name>
                  <description>Data accesses from flash are not buffered. Every data access from the CPU results in a read of the flash memory.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ONE_BUFFER</name>
                  <description>One buffer is used for all data accesses.</description>
                  <value>0x1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALL_BUFFERS</name>
                  <description>All buffers may be used for data accesses.</description>
                  <value>0x2</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>ACCEL</name>
              <description>Acceleration enable.</description>
              <bitOffset>4</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>DISABLED</name>
                  <description>Flash acceleration is disabled. Every flash read (including those fulfilled from a buffer) takes FLASHTIM + 1 system clocks. This allows more determinism at a cost of performance.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ENABLED</name>
                  <description>Flash acceleration is enabled. Performance is enhanced, dependent on other FLASHCFG settings.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>PREFEN</name>
              <description>Prefetch enable.</description>
              <bitOffset>5</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>NO_PREFETCH</name>
                  <description>No instruction prefetch is performed.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>PREFETCH</name>
                  <description>If the FETCHCFG field is not 0, the next flash line following the current execution address is automatically prefetched if it is not already buffered.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>PREFOVR</name>
              <description>Prefetch override. This bit only applies when PREFEN = 1 and a buffered instruction is completing for which the next flash line is not already buffered or being prefetched.</description>
              <bitOffset>6</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>PREFETCH_COMPLETED</name>
                  <description>Any previously initiated prefetch will be completed.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>PREFETCH_ABORT</name>
                  <description>Any previously initiated prefetch will be aborted, and the next flash line following the current execution address will be prefetched if not already buffered.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>FLASHTIM</name>
              <description>Flash memory access time. The number of system clocks used for flash accesses is equal to FLASHTIM +1.</description>
              <bitOffset>12</bitOffset>
              <bitWidth>4</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>N_1_CLOCK_CYCLE</name>
                  <description>1 system clock flash access time (for system clock rates up to 12 MHz).</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>N_2_CLOCK_CYCLES</name>
                  <description>2 system clocks flash access time (for system clock rates up to 30 MHz).</description>
                  <value>0x1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>N_3_CLOCK_CYCLES</name>
                  <description>3 system clocks flash access time (for system clock rates up to 60 MHz).</description>
                  <value>0x2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>N_4_CLOCK_CYCLES</name>
                  <description>4 system clocks flash access time (for system clock rates up to 85 MHz).</description>
                  <value>0x3</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>N_5_CLOCK_CYCLES</name>
                  <description>5 system clocks flash access time (for system clock rates up to 100 MHz).</description>
                  <value>0x4</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>USBCLKCTRL</name>
          <description>USB clock control</description>
          <addressOffset>0x40C</addressOffset>
          <size>32</size>
          <access>read-write</access>
          <resetValue>0</resetValue>
          <resetMask>0x2</resetMask>
          <fields>
            <field>
              <name>POL_CLK</name>
              <description>USB_NEED_CLK polarity for triggering the USB wake-up interrupt</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>FALLING_EDGE</name>
                  <description>Falling edge of the USB_NEED_CLK triggers the USB wake-up (default).</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>RISING_EDGE</name>
                  <description>Rising edge of the USB_NEED_CLK triggers the USB wake-up.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>USBCLKSTAT</name>
          <description>USB clock status</description>
          <addressOffset>0x410</addressOffset>
          <size>32</size>
          <access>read-write</access>
          <resetValue>0</resetValue>
          <resetMask>0x1</resetMask>
          <fields>
            <field>
              <name>NEED_CLKST</name>
              <description>USB_NEED_CLK signal status</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>LOW</name>
                  <description>Low</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>HIGH</name>
                  <description>High</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>FREQMECTRL</name>
          <description>Frequency measure register</description>
          <addressOffset>0x418</addressOffset>
          <size>32</size>
          <access>read-write</access>
          <resetValue>0</resetValue>
          <resetMask>0x80003FFF</resetMask>
          <fields>
            <field>
              <name>CAPVAL</name>
              <description>Stores the capture result which is used to calculate the frequency of the target clock. This field is read-only.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>14</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>PROG</name>
              <description>Set this bit to one to initiate a frequency measurement cycle. Hardware clears this bit when the measurement cycle has completed and there is valid capture data in the CAPVAL field (bits 13:0).</description>
              <bitOffset>31</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>MCLKIO</name>
          <description>MCLK input/output control</description>
          <addressOffset>0x420</addressOffset>
          <size>32</size>
          <access>read-write</access>
          <resetValue>0</resetValue>
          <resetMask>0x1</resetMask>
          <fields>
            <field>
              <name>DIR</name>
              <description>MCLK direction control.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>INPUT</name>
                  <description>The MCLK function is an input.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>OUTPUT</name>
                  <description>The MCLK function is an output.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>FROCTRL</name>
          <description>FRO oscillator control</description>
          <addressOffset>0x500</addressOffset>
          <size>32</size>
          <access>read-write</access>
          <resetValue>0x40004000</resetValue>
          <resetMask>0xC3007FFF</resetMask>
          <fields>
            <field>
              <name>TRIM</name>
              <description>This value is factory trimmed to account for bias and temperature compensation. The value should not be changed by software. Also see the WRTRIM bit description.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>14</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>SEL</name>
              <description>Select the fro_hf output frequency. This bit can only be changed by software when the WRTRIM bit = 1. Note that the factory trim values are for the 96 MHz FRO only.</description>
              <bitOffset>14</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>FRQ_48_MHZ</name>
                  <description>48 MHz</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>FRQ_96_MHZ</name>
                  <description>96 MHz</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>FREQTRIM</name>
              <description>Frequency trim. Boot code configures this to a device-specific factory trim value for the 48 MHz FRO. If USBCLKADJ = 1, this field is read-only and provides the value resulting from USB rate adjustment. See the USBMODCFG flag regarding reading this field. Application code may adjust this field when USBCLKADJ = 0. A single step of FREQTRIM is roughly equivalent to 0.1% of the selected FRO frequency.</description>
              <bitOffset>16</bitOffset>
              <bitWidth>8</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>USBCLKADJ</name>
              <description>USB clock adjust mode.</description>
              <bitOffset>24</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>NORMAL</name>
                  <description>Normal operation.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>AUTO_USB_ADJUST</name>
                  <description>Automatic USB rate adjustment mode. If the USB FS device peripheral is enabled and connected to a USB host, it provides clock adjustment information to the FRO based on SOF packets. USB rate adjustment requires a number of cycles to take place. the USBMODCHG bit (see below) indicates when initial adjustment is complete, and when later adjustments are in progress. software must not alter TRIM and FREQTRIM while USBCLKADJ = 1. see USBCLKADJ usage notes below this table.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>USBMODCHG</name>
              <description>USB Mode value Change flag. When 1, indicates that the USB trim is currently being updated (or is still starting up) and software should wait to read FREQTRIM. Update occurs at most once per millisecond.</description>
              <bitOffset>25</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>HSPDCLK</name>
              <description>High speed clock enable. Allows disabling the highs-speed FRO output if it is not needed.</description>
              <bitOffset>30</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>DISABLED</name>
                  <description>The high-speed FRO output is disabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ENABLED</name>
                  <description>The selected high-speed FRO output (48 MHz or 96 MHz) is enabled.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>WRTRIM</name>
              <description>Write Trim value. Must be written to 1 to modify the SEL or TRIM fields, during the same write. This bit always reads as 0.</description>
              <bitOffset>31</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>WDTOSCCTRL</name>
          <description>Watchdog oscillator control</description>
          <addressOffset>0x508</addressOffset>
          <size>32</size>
          <access>read-write</access>
          <resetValue>0xA0</resetValue>
          <resetMask>0x3FF</resetMask>
          <fields>
            <field>
              <name>DIVSEL</name>
              <description>Divider select. Selects the value of the divider that adjusts the output of the oscillator. 0x00 = divide by 2 0x01 = divide by 4 0x02 = divide by 6 up to 0x1E = divide by 62 0x1F = divide by 64</description>
              <bitOffset>0</bitOffset>
              <bitWidth>5</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>FREQSEL</name>
              <description>Frequency select. Selects the frequency of the oscillator. 0x00 = invalid setting when watchdog oscillator is running 0x01 = 0.4 MHz 0x02 = 0.6 MHz 0x03 = 0.75 MHz 0x04 = 0.9 MHz 0x05 = 1.0 MHz 0x06 = 1.2 MHz 0x07 = 1.3 MHz 0x08 = 1.4 MHz 0x09 = 1.5 MHz 0x0A = 1.6 MHz 0x0B = 1.7 MHz 0x0C = 1.8 MHz 0x0D = 1.9 MHz 0x0E = 2.0 MHz 0x0F = 2.05 MHz 0x10 = 2.1 MHz 0x11 = 2.2 MHz 0x12 = 2.25 MHz 0x13 = 2.3 MHz 0x14 = 2.4 MHz 0x15 = 2.45 MHz 0x16 = 2.5 MHz 0x17 = 2.6 MHz 0x18 = 2.65 MHz 0x19 = 2.7 MHz 0x1A = 2.8 MHz 0x1B = 2.85 MHz 0x1C = 2.9 MHz 0x1D = 2.95 MHz 0x1E = 3.0 MHz 0x1F = 3.05 MHz</description>
              <bitOffset>5</bitOffset>
              <bitWidth>5</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>RTCOSCCTRL</name>
          <description>RTC oscillator 32 kHz output control</description>
          <addressOffset>0x50C</addressOffset>
          <size>32</size>
          <access>read-write</access>
          <resetValue>0x1</resetValue>
          <resetMask>0xFFFFFFFF</resetMask>
          <fields>
            <field>
              <name>EN</name>
              <description>RTC 32 kHz clock enable.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>DISABLED</name>
                  <description>Disabled. RTC clock off.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ENABLED</name>
                  <description>Enabled. RTC clock on.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>SYSPLLCTRL</name>
          <description>PLL control</description>
          <addressOffset>0x580</addressOffset>
          <size>32</size>
          <access>read-write</access>
          <resetValue>0</resetValue>
          <resetMask>0x1FFFFF</resetMask>
          <fields>
            <field>
              <name>SELR</name>
              <description>Bandwidth select R value</description>
              <bitOffset>0</bitOffset>
              <bitWidth>4</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>SELI</name>
              <description>Bandwidth select I value.</description>
              <bitOffset>4</bitOffset>
              <bitWidth>6</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>SELP</name>
              <description>Bandwidth select P value</description>
              <bitOffset>10</bitOffset>
              <bitWidth>5</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>BYPASS</name>
              <description>PLL bypass control.</description>
              <bitOffset>15</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>DISABLED</name>
                  <description>Bypass disabled. PLL CCO is sent to the PLL post-dividers.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ENABLED</name>
                  <description>Bypass enabled. PLL input clock is sent directly to the PLL output (default).</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>BYPASSCCODIV2</name>
              <description>Bypass feedback clock divide by 2.</description>
              <bitOffset>16</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>DIVIDE_BY_2</name>
                  <description>Divide by 2. The CCO feedback clock is divided by 2 in addition to the programmed M divide.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>BYPASS</name>
                  <description>Bypass. The CCO feedback clock is divided only by the programmed M divide.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>UPLIMOFF</name>
              <description>Disable upper frequency limiter.</description>
              <bitOffset>17</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>NORMAL</name>
                  <description>Normal mode.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>DISABLED</name>
                  <description>Upper frequency limiter disabled.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>BANDSEL</name>
              <description>PLL filter control. Set this bit to one when the spread spectrum controller is disabled or at low frequencies. For spread spectrum mode: SEL_EXT = 0, BANDSEL = 0, and UPLIMOFF = 1.</description>
              <bitOffset>18</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>SSCG_CONTROL</name>
                  <description>SSCG control. The PLL filter uses the parameters derived from the spread spectrum controller.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>MDEC_CONTROL</name>
                  <description>MDEC control. The PLL filter uses the programmable fields SELP, SELR, and SELI in this register to control the filter constants.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>DIRECTI</name>
              <description>PLL0 direct input enable</description>
              <bitOffset>19</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>DISABLED</name>
                  <description>Disabled. The PLL input divider (N divider) output is used to drive the PLL CCO.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ENABLED</name>
                  <description>Enabled. The PLL input divider (N divider) is bypassed. the PLL input clock is used directly to drive the PLL CCO input.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>DIRECTO</name>
              <description>PLL0 direct output enable.</description>
              <bitOffset>20</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>DISABLED</name>
                  <description>Disabled. The PLL output divider (P divider) is used to create the PLL output.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ENABLED</name>
                  <description>Enabled. The PLL output divider (P divider) is bypassed, the PLL CCO output is used as the PLL output.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>SYSPLLSTAT</name>
          <description>PLL status</description>
          <addressOffset>0x584</addressOffset>
          <size>32</size>
          <access>read-only</access>
          <resetValue>0</resetValue>
          <resetMask>0x1</resetMask>
          <fields>
            <field>
              <name>LOCK</name>
              <description>PLL0 lock indicator</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
            </field>
          </fields>
        </register>
        <register>
          <name>SYSPLLNDEC</name>
          <description>PLL N decoder</description>
          <addressOffset>0x588</addressOffset>
          <size>32</size>
          <access>read-write</access>
          <resetValue>0</resetValue>
          <resetMask>0x7FF</resetMask>
          <fields>
            <field>
              <name>NDEC</name>
              <description>Decoded N-divider coefficient value.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>10</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>NREQ</name>
              <description>NDEC reload request. When a 1 is written to this bit, the NDEC value is loaded into the PLL. Must be cleared by software for any subsequent load, or the PLL can be powered down and back up via the PDEN_SYS_PLL bit in the PDRUNCFG register if the NDEC value is changed.</description>
              <bitOffset>10</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>SYSPLLPDEC</name>
          <description>PLL P decoder</description>
          <addressOffset>0x58C</addressOffset>
          <size>32</size>
          <access>read-write</access>
          <resetValue>0</resetValue>
          <resetMask>0xFF</resetMask>
          <fields>
            <field>
              <name>PDEC</name>
              <description>Decoded P-divider coefficient value.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>7</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>PREQ</name>
              <description>PDEC reload request. When a 1 is written to this bit, the PDEC value is loaded into the PLL. Must be cleared by software for any subsequent load, or the PLL can be powered down and back up via the PDEN_SYS_PLL bit in the PDRUNCFG register if the PDEC value is changed.</description>
              <bitOffset>7</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>SYSPLLSSCTRL0</name>
          <description>PLL spread spectrum control 0</description>
          <addressOffset>0x590</addressOffset>
          <size>32</size>
          <access>read-write</access>
          <resetValue>0x40000</resetValue>
          <resetMask>0x7FFFF</resetMask>
          <fields>
            <field>
              <name>MDEC</name>
              <description>Decoded M-divider coefficient value.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>17</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>MREQ</name>
              <description>MDEC reload request. When a 1 is written to this bit, the MDEC value is loaded into the PLL. Must be cleared by software for any subsequent load, or the PLL can be powered down and back up via the PDEN_SYS_PLL bit in the PDRUNCFG register if the MDEC value is changed.</description>
              <bitOffset>17</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>SEL_EXT</name>
              <description>Select spread spectrum mode. Selects the source of the feedback divider value. For normal mode, this must be the value from the MDEC field in this register. For spread spectrum mode: SEL_EXT = 0, BANDSEL = 0, and UPLIMOFF = 1.</description>
              <bitOffset>18</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>SYSPLLSSCTRL1</name>
          <description>PLL spread spectrum control 1</description>
          <addressOffset>0x594</addressOffset>
          <size>32</size>
          <access>read-write</access>
          <resetValue>0x10000000</resetValue>
          <resetMask>0x3FFFFFFF</resetMask>
          <fields>
            <field>
              <name>MD</name>
              <description>M- divider value with fraction. MD[18:11]: integer portion of the feedback divider value. MD[10:0]: fractional portion of the feedback divider value. In fractional mode, fcco = (2 - BYPASSCCODIV2) x (MD x 2^-11) x Fref</description>
              <bitOffset>0</bitOffset>
              <bitWidth>19</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>MDREQ</name>
              <description>MD reload request. When a 1 is written to this bit, the MD value is loaded into the PLL. This bit is cleared when the load is complete</description>
              <bitOffset>19</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>MF</name>
              <description>Programmable modulation frequency fm = Fref/Nss with Fref = Fin/N 0b000 =&gt; Nss = 512 (fm _ 3.9 - 7.8 kHz) 0b001 =&gt; Nss _ 384 (fm _ 5.2 - 10.4 kHz) 0b010 =&gt; Nss = 256 (fm _ 7.8 - 15.6 kHz) 0b011 =&gt; Nss = 128 (fm _ 15.6 - 31.3 kHz) 0b100 =&gt; Nss = 64 (fm _ 32.3 - 64.5 kHz) 0b101 =&gt; Nss = 32 (fm _ 62.5- 125 kHz) 0b110 =&gt; Nss _ 24 (fm _ 83.3- 166.6 kHz) 0b111 =&gt; Nss = 16 (fm _ 125- 250 kHz)</description>
              <bitOffset>20</bitOffset>
              <bitWidth>3</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>MR</name>
              <description>Programmable frequency modulation depth. 0 = no spread. _fmodpk-pk = Fref x k/Fcco = k/MDdec 0b000 -&gt; k = 0 (no spread spectrum) 0b001 =&gt; k _ 1 0b010 =&gt; k _ 1.5 0b011 =&gt; k _ 2 0b100 =&gt; k _ 3 0b101 =&gt; k _ 4 0b110 =&gt; k _ 6 0b111 =&gt; k _ 8</description>
              <bitOffset>23</bitOffset>
              <bitWidth>3</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>MC</name>
              <description>Modulation waveform control. 0 = no compensation. Compensation for low pass filtering of the PLL to get a triangular modulation at the output of the PLL, giving a flat frequency spectrum. 0b00 =&gt; no compensation 0b10 =&gt; recommended setting 0b11 =&gt; max. compensation</description>
              <bitOffset>26</bitOffset>
              <bitWidth>2</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>PD</name>
              <description>Spread spectrum power-down.</description>
              <bitOffset>28</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>ENABLED</name>
                  <description>Enabled. Spread spectrum controller is enabled</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>DISABLED</name>
                  <description>Disabled. Spread spectrum controller is disabled.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>DITHER</name>
              <description>Select modulation frequency.</description>
              <bitOffset>29</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>FIXED</name>
                  <description>Fixed. Fixed modulation frequency.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>DITHER</name>
                  <description>Dither. Randomly dither between two modulation frequencies.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>PDSLEEPCFG0</name>
          <description>Sleep configuration register n</description>
          <addressOffset>0x600</addressOffset>
          <size>32</size>
          <access>read-write</access>
          <resetValue>0xF80540</resetValue>
          <resetMask>0xFBE5D0</resetMask>
          <fields>
            <field>
              <name>PD_SLEEP</name>
              <description>See bit descriptions in the PDRUNCFGn register.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>32</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>PDRUNCFG0</name>
          <description>Power configuration register 0</description>
          <addressOffset>0x610</addressOffset>
          <size>32</size>
          <access>read-write</access>
          <resetValue>0xF80540</resetValue>
          <resetMask>0xFB25D0</resetMask>
          <fields>
            <field>
              <name>PDEN_FRO</name>
              <description>FRO oscillator. 0 = Powered; 1 = Powered down.</description>
              <bitOffset>4</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>PDEN_TS</name>
              <description>Temp sensor. 0 = Powered; 1 = Powered down.</description>
              <bitOffset>6</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>PDEN_BOD_RST</name>
              <description>Brown-out Detect reset. 0 = Powered; 1 = Powered down.</description>
              <bitOffset>7</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>PDEN_BOD_INTR</name>
              <description>Brown-out Detect interrupt. 0 = Powered; 1 = Powered down.</description>
              <bitOffset>8</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>PDEN_ADC0</name>
              <description>ADC0. 0 = Powered; 1 = Powered down.</description>
              <bitOffset>10</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>PDEN_SRAM0</name>
              <description>SRAM0. 0 = Powered; 1 = Powered down.</description>
              <bitOffset>13</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>PDEN_SRAMX</name>
              <description>SRAMX. 0 = Powered; 1 = Powered down.</description>
              <bitOffset>16</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>PDEN_ROM</name>
              <description>ROM. 0 = Powered; 1 = Powered down.</description>
              <bitOffset>17</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>PDEN_VDDA</name>
              <description>Vdda to the ADC, must be enabled for the ADC to work. Also see bit 23. 0 = Powered; 1 = Powered down.</description>
              <bitOffset>19</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>PDEN_WDT_OSC</name>
              <description>Watchdog oscillator. 0 = Powered; 1 = Powered down.</description>
              <bitOffset>20</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>PDEN_USB_PHY</name>
              <description>USB pin interface. 0 = Powered; 1 = Powered down.</description>
              <bitOffset>21</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>PDEN_SYS_PLL</name>
              <description>PLL0. 0 = Powered; 1 = Powered down.</description>
              <bitOffset>22</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>PDEN_VREFP</name>
              <description>Vrefp to the ADC, must be enabled for the ADC to work. Also see bit 19. 0 = Powered; 1 = Powered down.</description>
              <bitOffset>23</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>PDRUNCFGSET0</name>
          <description>Set bits in PDRUNCFGn</description>
          <addressOffset>0x620</addressOffset>
          <size>32</size>
          <access>write-only</access>
          <resetValue>0</resetValue>
          <resetMask>0</resetMask>
          <fields>
            <field>
              <name>PD_SET</name>
              <description>Writing ones to this register sets the corresponding bit or bits in the PDRUNCFG register, if they are implemented. Bits that do not correspond to defined bits in PDRUNCFG are reserved and only zeroes should be written to them.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>32</bitWidth>
              <access>write-only</access>
            </field>
          </fields>
        </register>
        <register>
          <name>PDRUNCFGCLR0</name>
          <description>Clear bits in PDRUNCFGn</description>
          <addressOffset>0x630</addressOffset>
          <size>32</size>
          <access>write-only</access>
          <resetValue>0</resetValue>
          <resetMask>0</resetMask>
          <fields>
            <field>
              <name>PD_CLR</name>
              <description>Writing ones to this register clears the corresponding bit or bits in the PDRUNCFG register, if they are implemented. Bits that do not correspond to defined bits in PDRUNCFG are reserved and only zeroes should be written to them.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>32</bitWidth>
              <access>write-only</access>
            </field>
          </fields>
        </register>
        <register>
          <name>STARTER0</name>
          <description>Start logic n wake-up enable register</description>
          <addressOffset>0x680</addressOffset>
          <size>32</size>
          <access>read-write</access>
          <resetValue>0</resetValue>
          <resetMask>0xBBFFFFFF</resetMask>
          <fields>
            <field>
              <name>WDT_BOD</name>
              <description>WWDT and BOD interrupt wake-up. 0 = Wake-up disabled. 1 = Wake-up enabled.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>DMA0</name>
              <description>DMA0 wake-up. 0 = Wake-up disabled. 1 = Wake-up enabled. Typically used in sleep mode only since the peripheral clock must be running for it to function.</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>GINT0</name>
              <description>Group interrupt 0 wake-up. 0 = Wake-up disabled. 1 = Wake-up enabled.</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>GINT1</name>
              <description>Group interrupt 1 wake-up. 0 = Wake-up disabled. 1 = Wake-up enabled.</description>
              <bitOffset>3</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>PIN_INT0</name>
              <description>GPIO pin interrupt 0 wake-up. 0 = Wake-up disabled. 1 = Wake-up enabled. Not for pattern match.</description>
              <bitOffset>4</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>PIN_INT1</name>
              <description>GPIO pin interrupt 1 wake-up. 0 = Wake-up disabled. 1 = Wake-up enabled. Not for pattern match.</description>
              <bitOffset>5</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>PIN_INT2</name>
              <description>GPIO pin interrupt 2 wake-up. 0 = Wake-up disabled. 1 = Wake-up enabled. Not for pattern match.</description>
              <bitOffset>6</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>PIN_INT3</name>
              <description>GPIO pin interrupt 3 wake-up. 0 = Wake-up disabled. 1 = Wake-up enabled. Not for pattern match.</description>
              <bitOffset>7</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>UTICK0</name>
              <description>Micro-tick Timer wake-up. 0 = Wake-up disabled. 1 = Wake-up enabled.</description>
              <bitOffset>8</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>FLEXCOMM0</name>
              <description>Flexcomm0 peripheral interrupt wake-up. 0 = Wake-up disabled. 1 = Wake-up enabled.</description>
              <bitOffset>14</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>FLEXCOMM1</name>
              <description>Flexcomm1 peripheral interrupt wake-up. 0 = Wake-up disabled. 1 = Wake-up enabled.</description>
              <bitOffset>15</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>FLEXCOMM2</name>
              <description>Flexcomm2 peripheral interrupt wake-up. 0 = Wake-up disabled. 1 = Wake-up enabled.</description>
              <bitOffset>16</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>FLEXCOMM3</name>
              <description>Flexcomm3 peripheral interrupt wake-up. 0 = Wake-up disabled. 1 = Wake-up enabled.</description>
              <bitOffset>17</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>FLEXCOMM4</name>
              <description>Flexcomm4 peripheral interrupt wake-up. 0 = Wake-up disabled. 1 = Wake-up enabled.</description>
              <bitOffset>18</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>FLEXCOMM5</name>
              <description>Flexcomm5 peripheral interrupt wake-up. 0 = Wake-up disabled. 1 = Wake-up enabled.</description>
              <bitOffset>19</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>FLEXCOMM6</name>
              <description>Flexcomm6 peripheral interrupt wake-up. 0 = Wake-up disabled. 1 = Wake-up enabled.</description>
              <bitOffset>20</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>FLEXCOMM7</name>
              <description>Flexcomm7 peripheral interrupt wake-up. 0 = Wake-up disabled. 1 = Wake-up enabled.</description>
              <bitOffset>21</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>USB0_NEEDCLK</name>
              <description>USB0 activity interrupt wake-up. 0 = Wake-up disabled. 1 = Wake-up enabled.</description>
              <bitOffset>27</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>USB0</name>
              <description>USB0 function interrupt wake-up. 0 = Wake-up disabled. 1 = Wake-up enabled.</description>
              <bitOffset>28</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>RTC</name>
              <description>RTC interrupt alarm and wake-up timer. 0 = Wake-up disabled. 1 = Wake-up enabled.</description>
              <bitOffset>29</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>STARTERSET0</name>
          <description>Set bits in STARTERn</description>
          <addressOffset>0x6A0</addressOffset>
          <size>32</size>
          <access>write-only</access>
          <resetValue>0</resetValue>
          <resetMask>0</resetMask>
          <fields>
            <field>
              <name>START_SET</name>
              <description>Writing ones to this register sets the corresponding bit or bits in the STARTERn register, if they are implemented. Bits that do not correspond to defined bits in STARTERn are reserved and only zeroes should be written to them.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>32</bitWidth>
              <access>write-only</access>
            </field>
          </fields>
        </register>
        <register>
          <name>STARTERCLR0</name>
          <description>Clear bits in STARTERn</description>
          <addressOffset>0x6C0</addressOffset>
          <size>32</size>
          <access>write-only</access>
          <resetValue>0</resetValue>
          <resetMask>0</resetMask>
          <fields>
            <field>
              <name>START_CLR</name>
              <description>Writing ones to this register clears the corresponding bit or bits in the STARTERn register, if they are implemented. Bits that do not correspond to defined bits in STARTERn are reserved and only zeroes should be written to them.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>32</bitWidth>
              <access>write-only</access>
            </field>
          </fields>
        </register>
        <register>
          <name>HWWAKE</name>
          <description>Configures special cases of hardware wake-up</description>
          <addressOffset>0x780</addressOffset>
          <size>32</size>
          <access>read-write</access>
          <resetValue>0</resetValue>
          <resetMask>0xF</resetMask>
          <fields>
            <field>
              <name>FORCEWAKE</name>
              <description>Force peripheral clocking to stay on during Deep Sleep and Power-down modes. When 1, clocking to peripherals is prevented from being shut down when the CPU enters Deep Sleep and Power-down modes. This is intended to allow a coprocessor to continue operating while the main CPU(s) are shut down.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>FCWAKE</name>
              <description>Wake for Flexcomms. When 1, any Flexcomm FIFO reaching the level specified by its own TXLVL will cause peripheral clocking to wake up temporarily while the related status is asserted.</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>WAKEDMA</name>
              <description>Wake for DMA. When 1, DMA being busy will cause peripheral clocking to remain running until DMA completes. This is generally used in conjunction with bit 1 and/or 2 in order to prevent peripheral clocking from being shut down as soon as the cause of wake-up is cleared, but before DMA has completed its related activity.</description>
              <bitOffset>3</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>JTAGIDCODE</name>
          <description>JTAG ID code register</description>
          <addressOffset>0xFF4</addressOffset>
          <size>32</size>
          <access>read-only</access>
          <resetValue>0</resetValue>
          <resetMask>0xFFFFFFFF</resetMask>
          <fields>
            <field>
              <name>JTAGID</name>
              <description>JTAG ID code.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>32</bitWidth>
              <access>read-only</access>
            </field>
          </fields>
        </register>
        <register>
          <name>DEVICE_ID0</name>
          <description>Part ID register</description>
          <addressOffset>0xFF8</addressOffset>
          <size>32</size>
          <access>read-only</access>
          <resetValue>0</resetValue>
          <resetMask>0xFFFFFFFF</resetMask>
          <fields>
            <field>
              <name>PARTID</name>
              <description>Part ID</description>
              <bitOffset>0</bitOffset>
              <bitWidth>32</bitWidth>
              <access>read-only</access>
            </field>
          </fields>
        </register>
        <register>
          <name>DEVICE_ID1</name>
          <description>Boot ROM and die revision register</description>
          <addressOffset>0xFFC</addressOffset>
          <size>32</size>
          <access>read-only</access>
          <resetValue>0</resetValue>
          <resetMask>0xFFFFFFFF</resetMask>
          <fields>
            <field>
              <name>REVID</name>
              <description>Revision.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>32</bitWidth>
              <access>read-only</access>
            </field>
          </fields>
        </register>
        <register>
          <name>BODCTRL</name>
          <description>Brown-Out Detect control</description>
          <addressOffset>0x20044</addressOffset>
          <size>32</size>
          <access>read-write</access>
          <resetValue>0</resetValue>
          <resetMask>0xFF</resetMask>
          <fields>
            <field>
              <name>BODRSTLEV</name>
              <description>BOD reset level</description>
              <bitOffset>0</bitOffset>
              <bitWidth>2</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>LEVEL0</name>
                  <description>Level 0: 1.5 V</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>LEVEL1</name>
                  <description>Level 1: 1.85 V</description>
                  <value>0x1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>LEVEL2</name>
                  <description>Level 2: 2.0 V</description>
                  <value>0x2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>LEVEL3</name>
                  <description>Level 3: 2.3 V</description>
                  <value>0x3</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>BODRSTENA</name>
              <description>BOD reset enable</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>DISABLE</name>
                  <description>Disable reset function.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ENABLE</name>
                  <description>Enable reset function.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>BODINTLEV</name>
              <description>BOD interrupt level</description>
              <bitOffset>3</bitOffset>
              <bitWidth>2</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>LEVEL0</name>
                  <description>Level 0: 2.05 V</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>LEVEL1</name>
                  <description>Level 1: 2.45 V</description>
                  <value>0x1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>LEVEL2</name>
                  <description>Level 2: 2.75 V</description>
                  <value>0x2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>LEVEL3</name>
                  <description>Level 3: 3.05 V</description>
                  <value>0x3</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>BODINTENA</name>
              <description>BOD interrupt enable</description>
              <bitOffset>5</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>DISABLE</name>
                  <description>Disable interrupt function.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ENABLE</name>
                  <description>Enable interrupt function.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>BODRSTSTAT</name>
              <description>BOD reset status. When 1, a BOD reset has occurred. Cleared by writing 1 to this bit.</description>
              <bitOffset>6</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>BODINTSTAT</name>
              <description>BOD interrupt status. When 1, a BOD interrupt has occurred. Cleared by writing 1 to this bit.</description>
              <bitOffset>7</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
      </registers>
    </peripheral>
    <peripheral>
      <name>IOCON</name>
      <description>LPC51u68 I/O pin configuration (IOCON)</description>
      <groupName>IOCON</groupName>
      <baseAddress>0x40001000</baseAddress>
      <addressBlock>
        <offset>0</offset>
        <size>0x100</size>
        <usage>registers</usage>
      </addressBlock>
      <registers>
        <register>
          <name>PIO00</name>
          <description>Digital I/O control for port 0 pins PIO0_0</description>
          <addressOffset>0</addressOffset>
          <size>32</size>
          <access>read-write</access>
          <resetValue>0x190</resetValue>
          <resetMask>0x7DF</resetMask>
          <fields>
            <field>
              <name>FUNC</name>
              <description>Selects pin function.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>3</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>ALT0</name>
                  <description>Alternative connection 0.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT1</name>
                  <description>Alternative connection 1.</description>
                  <value>0x1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT2</name>
                  <description>Alternative connection 2.</description>
                  <value>0x2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT3</name>
                  <description>Alternative connection 3.</description>
                  <value>0x3</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT4</name>
                  <description>Alternative connection 4.</description>
                  <value>0x4</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT5</name>
                  <description>Alternative connection 5.</description>
                  <value>0x5</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT6</name>
                  <description>Alternative connection 6.</description>
                  <value>0x6</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT7</name>
                  <description>Alternative connection 7.</description>
                  <value>0x7</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>MODE</name>
              <description>Selects function mode (on-chip pull-up/pull-down resistor control).</description>
              <bitOffset>3</bitOffset>
              <bitWidth>2</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>INACTIVE</name>
                  <description>Inactive. Inactive (no pull-down/pull-up resistor enabled).</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>PULL_DOWN</name>
                  <description>Pull-down. Pull-down resistor enabled.</description>
                  <value>0x1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>PULL_UP</name>
                  <description>Pull-up. Pull-up resistor enabled.</description>
                  <value>0x2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>REPEATER</name>
                  <description>Repeater. Repeater mode.</description>
                  <value>0x3</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>INVERT</name>
              <description>Input polarity.</description>
              <bitOffset>6</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>DISABLED</name>
                  <description>Disabled. Input function is not inverted.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ENABLED</name>
                  <description>Enabled. Input is function inverted.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>DIGIMODE</name>
              <description>Select Analog/Digital mode.</description>
              <bitOffset>7</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>ANALOG</name>
                  <description>Analog mode.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>DIGITAL</name>
                  <description>Digital mode.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>FILTEROFF</name>
              <description>Controls input glitch filter.</description>
              <bitOffset>8</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>ENABLED</name>
                  <description>Filter enabled. Noise pulses below approximately 10 ns are filtered out.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>DISABLED</name>
                  <description>Filter disabled. No input filtering is done.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>SLEW</name>
              <description>Driver slew rate.</description>
              <bitOffset>9</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>STANDARD</name>
                  <description>Standard mode, output slew rate control is enabled. More outputs can be switched simultaneously.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>FAST</name>
                  <description>Fast mode, slew rate control is disabled. Refer to the appropriate specific device data sheet for details.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>OD</name>
              <description>Controls open-drain mode.</description>
              <bitOffset>10</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>NORMAL</name>
                  <description>Normal. Normal push-pull output</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>OPEN_DRAIN</name>
                  <description>Open-drain. Simulated open-drain output (high drive disabled).</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>PIO01</name>
          <description>Digital I/O control for port 0 pins PIO0_1</description>
          <addressOffset>0x4</addressOffset>
          <size>32</size>
          <access>read-write</access>
          <resetValue>0x190</resetValue>
          <resetMask>0x7DF</resetMask>
          <fields>
            <field>
              <name>FUNC</name>
              <description>Selects pin function.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>3</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>ALT0</name>
                  <description>Alternative connection 0.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT1</name>
                  <description>Alternative connection 1.</description>
                  <value>0x1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT2</name>
                  <description>Alternative connection 2.</description>
                  <value>0x2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT3</name>
                  <description>Alternative connection 3.</description>
                  <value>0x3</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT4</name>
                  <description>Alternative connection 4.</description>
                  <value>0x4</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT5</name>
                  <description>Alternative connection 5.</description>
                  <value>0x5</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT6</name>
                  <description>Alternative connection 6.</description>
                  <value>0x6</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT7</name>
                  <description>Alternative connection 7.</description>
                  <value>0x7</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>MODE</name>
              <description>Selects function mode (on-chip pull-up/pull-down resistor control).</description>
              <bitOffset>3</bitOffset>
              <bitWidth>2</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>INACTIVE</name>
                  <description>Inactive. Inactive (no pull-down/pull-up resistor enabled).</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>PULL_DOWN</name>
                  <description>Pull-down. Pull-down resistor enabled.</description>
                  <value>0x1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>PULL_UP</name>
                  <description>Pull-up. Pull-up resistor enabled.</description>
                  <value>0x2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>REPEATER</name>
                  <description>Repeater. Repeater mode.</description>
                  <value>0x3</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>INVERT</name>
              <description>Input polarity.</description>
              <bitOffset>6</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>DISABLED</name>
                  <description>Disabled. Input function is not inverted.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ENABLED</name>
                  <description>Enabled. Input is function inverted.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>DIGIMODE</name>
              <description>Select Analog/Digital mode.</description>
              <bitOffset>7</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>ANALOG</name>
                  <description>Analog mode.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>DIGITAL</name>
                  <description>Digital mode.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>FILTEROFF</name>
              <description>Controls input glitch filter.</description>
              <bitOffset>8</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>ENABLED</name>
                  <description>Filter enabled. Noise pulses below approximately 10 ns are filtered out.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>DISABLED</name>
                  <description>Filter disabled. No input filtering is done.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>SLEW</name>
              <description>Driver slew rate.</description>
              <bitOffset>9</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>STANDARD</name>
                  <description>Standard mode, output slew rate control is enabled. More outputs can be switched simultaneously.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>FAST</name>
                  <description>Fast mode, slew rate control is disabled. Refer to the appropriate specific device data sheet for details.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>OD</name>
              <description>Controls open-drain mode.</description>
              <bitOffset>10</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>NORMAL</name>
                  <description>Normal. Normal push-pull output</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>OPEN_DRAIN</name>
                  <description>Open-drain. Simulated open-drain output (high drive disabled).</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>PIO02</name>
          <description>Digital I/O control for port 0 pins PIO0_2</description>
          <addressOffset>0x8</addressOffset>
          <size>32</size>
          <access>read-write</access>
          <resetValue>0x190</resetValue>
          <resetMask>0x7DF</resetMask>
          <fields>
            <field>
              <name>FUNC</name>
              <description>Selects pin function.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>3</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>ALT0</name>
                  <description>Alternative connection 0.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT1</name>
                  <description>Alternative connection 1.</description>
                  <value>0x1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT2</name>
                  <description>Alternative connection 2.</description>
                  <value>0x2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT3</name>
                  <description>Alternative connection 3.</description>
                  <value>0x3</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT4</name>
                  <description>Alternative connection 4.</description>
                  <value>0x4</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT5</name>
                  <description>Alternative connection 5.</description>
                  <value>0x5</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT6</name>
                  <description>Alternative connection 6.</description>
                  <value>0x6</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT7</name>
                  <description>Alternative connection 7.</description>
                  <value>0x7</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>MODE</name>
              <description>Selects function mode (on-chip pull-up/pull-down resistor control).</description>
              <bitOffset>3</bitOffset>
              <bitWidth>2</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>INACTIVE</name>
                  <description>Inactive. Inactive (no pull-down/pull-up resistor enabled).</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>PULL_DOWN</name>
                  <description>Pull-down. Pull-down resistor enabled.</description>
                  <value>0x1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>PULL_UP</name>
                  <description>Pull-up. Pull-up resistor enabled.</description>
                  <value>0x2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>REPEATER</name>
                  <description>Repeater. Repeater mode.</description>
                  <value>0x3</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>INVERT</name>
              <description>Input polarity.</description>
              <bitOffset>6</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>DISABLED</name>
                  <description>Disabled. Input function is not inverted.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ENABLED</name>
                  <description>Enabled. Input is function inverted.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>DIGIMODE</name>
              <description>Select Analog/Digital mode.</description>
              <bitOffset>7</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>ANALOG</name>
                  <description>Analog mode.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>DIGITAL</name>
                  <description>Digital mode.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>FILTEROFF</name>
              <description>Controls input glitch filter.</description>
              <bitOffset>8</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>ENABLED</name>
                  <description>Filter enabled. Noise pulses below approximately 10 ns are filtered out.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>DISABLED</name>
                  <description>Filter disabled. No input filtering is done.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>SLEW</name>
              <description>Driver slew rate.</description>
              <bitOffset>9</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>STANDARD</name>
                  <description>Standard mode, output slew rate control is enabled. More outputs can be switched simultaneously.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>FAST</name>
                  <description>Fast mode, slew rate control is disabled. Refer to the appropriate specific device data sheet for details.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>OD</name>
              <description>Controls open-drain mode.</description>
              <bitOffset>10</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>NORMAL</name>
                  <description>Normal. Normal push-pull output</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>OPEN_DRAIN</name>
                  <description>Open-drain. Simulated open-drain output (high drive disabled).</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>PIO03</name>
          <description>Digital I/O control for port 0 pins PIO0_3</description>
          <addressOffset>0xC</addressOffset>
          <size>32</size>
          <access>read-write</access>
          <resetValue>0x190</resetValue>
          <resetMask>0x7DF</resetMask>
          <fields>
            <field>
              <name>FUNC</name>
              <description>Selects pin function.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>3</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>ALT0</name>
                  <description>Alternative connection 0.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT1</name>
                  <description>Alternative connection 1.</description>
                  <value>0x1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT2</name>
                  <description>Alternative connection 2.</description>
                  <value>0x2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT3</name>
                  <description>Alternative connection 3.</description>
                  <value>0x3</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT4</name>
                  <description>Alternative connection 4.</description>
                  <value>0x4</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT5</name>
                  <description>Alternative connection 5.</description>
                  <value>0x5</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT6</name>
                  <description>Alternative connection 6.</description>
                  <value>0x6</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT7</name>
                  <description>Alternative connection 7.</description>
                  <value>0x7</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>MODE</name>
              <description>Selects function mode (on-chip pull-up/pull-down resistor control).</description>
              <bitOffset>3</bitOffset>
              <bitWidth>2</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>INACTIVE</name>
                  <description>Inactive. Inactive (no pull-down/pull-up resistor enabled).</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>PULL_DOWN</name>
                  <description>Pull-down. Pull-down resistor enabled.</description>
                  <value>0x1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>PULL_UP</name>
                  <description>Pull-up. Pull-up resistor enabled.</description>
                  <value>0x2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>REPEATER</name>
                  <description>Repeater. Repeater mode.</description>
                  <value>0x3</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>INVERT</name>
              <description>Input polarity.</description>
              <bitOffset>6</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>DISABLED</name>
                  <description>Disabled. Input function is not inverted.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ENABLED</name>
                  <description>Enabled. Input is function inverted.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>DIGIMODE</name>
              <description>Select Analog/Digital mode.</description>
              <bitOffset>7</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>ANALOG</name>
                  <description>Analog mode.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>DIGITAL</name>
                  <description>Digital mode.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>FILTEROFF</name>
              <description>Controls input glitch filter.</description>
              <bitOffset>8</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>ENABLED</name>
                  <description>Filter enabled. Noise pulses below approximately 10 ns are filtered out.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>DISABLED</name>
                  <description>Filter disabled. No input filtering is done.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>SLEW</name>
              <description>Driver slew rate.</description>
              <bitOffset>9</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>STANDARD</name>
                  <description>Standard mode, output slew rate control is enabled. More outputs can be switched simultaneously.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>FAST</name>
                  <description>Fast mode, slew rate control is disabled. Refer to the appropriate specific device data sheet for details.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>OD</name>
              <description>Controls open-drain mode.</description>
              <bitOffset>10</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>NORMAL</name>
                  <description>Normal. Normal push-pull output</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>OPEN_DRAIN</name>
                  <description>Open-drain. Simulated open-drain output (high drive disabled).</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>PIO04</name>
          <description>Digital I/O control for port 0 pins PIO0_4</description>
          <addressOffset>0x10</addressOffset>
          <size>32</size>
          <access>read-write</access>
          <resetValue>0x190</resetValue>
          <resetMask>0x7DF</resetMask>
          <fields>
            <field>
              <name>FUNC</name>
              <description>Selects pin function.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>3</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>ALT0</name>
                  <description>Alternative connection 0.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT1</name>
                  <description>Alternative connection 1.</description>
                  <value>0x1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT2</name>
                  <description>Alternative connection 2.</description>
                  <value>0x2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT3</name>
                  <description>Alternative connection 3.</description>
                  <value>0x3</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT4</name>
                  <description>Alternative connection 4.</description>
                  <value>0x4</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT5</name>
                  <description>Alternative connection 5.</description>
                  <value>0x5</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT6</name>
                  <description>Alternative connection 6.</description>
                  <value>0x6</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT7</name>
                  <description>Alternative connection 7.</description>
                  <value>0x7</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>MODE</name>
              <description>Selects function mode (on-chip pull-up/pull-down resistor control).</description>
              <bitOffset>3</bitOffset>
              <bitWidth>2</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>INACTIVE</name>
                  <description>Inactive. Inactive (no pull-down/pull-up resistor enabled).</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>PULL_DOWN</name>
                  <description>Pull-down. Pull-down resistor enabled.</description>
                  <value>0x1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>PULL_UP</name>
                  <description>Pull-up. Pull-up resistor enabled.</description>
                  <value>0x2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>REPEATER</name>
                  <description>Repeater. Repeater mode.</description>
                  <value>0x3</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>INVERT</name>
              <description>Input polarity.</description>
              <bitOffset>6</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>DISABLED</name>
                  <description>Disabled. Input function is not inverted.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ENABLED</name>
                  <description>Enabled. Input is function inverted.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>DIGIMODE</name>
              <description>Select Analog/Digital mode.</description>
              <bitOffset>7</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>ANALOG</name>
                  <description>Analog mode.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>DIGITAL</name>
                  <description>Digital mode.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>FILTEROFF</name>
              <description>Controls input glitch filter.</description>
              <bitOffset>8</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>ENABLED</name>
                  <description>Filter enabled. Noise pulses below approximately 10 ns are filtered out.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>DISABLED</name>
                  <description>Filter disabled. No input filtering is done.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>SLEW</name>
              <description>Driver slew rate.</description>
              <bitOffset>9</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>STANDARD</name>
                  <description>Standard mode, output slew rate control is enabled. More outputs can be switched simultaneously.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>FAST</name>
                  <description>Fast mode, slew rate control is disabled. Refer to the appropriate specific device data sheet for details.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>OD</name>
              <description>Controls open-drain mode.</description>
              <bitOffset>10</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>NORMAL</name>
                  <description>Normal. Normal push-pull output</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>OPEN_DRAIN</name>
                  <description>Open-drain. Simulated open-drain output (high drive disabled).</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>PIO05</name>
          <description>Digital I/O control for port 0 pins PIO0_5</description>
          <addressOffset>0x14</addressOffset>
          <size>32</size>
          <access>read-write</access>
          <resetValue>0x190</resetValue>
          <resetMask>0x7DF</resetMask>
          <fields>
            <field>
              <name>FUNC</name>
              <description>Selects pin function.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>3</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>ALT0</name>
                  <description>Alternative connection 0.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT1</name>
                  <description>Alternative connection 1.</description>
                  <value>0x1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT2</name>
                  <description>Alternative connection 2.</description>
                  <value>0x2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT3</name>
                  <description>Alternative connection 3.</description>
                  <value>0x3</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT4</name>
                  <description>Alternative connection 4.</description>
                  <value>0x4</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT5</name>
                  <description>Alternative connection 5.</description>
                  <value>0x5</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT6</name>
                  <description>Alternative connection 6.</description>
                  <value>0x6</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT7</name>
                  <description>Alternative connection 7.</description>
                  <value>0x7</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>MODE</name>
              <description>Selects function mode (on-chip pull-up/pull-down resistor control).</description>
              <bitOffset>3</bitOffset>
              <bitWidth>2</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>INACTIVE</name>
                  <description>Inactive. Inactive (no pull-down/pull-up resistor enabled).</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>PULL_DOWN</name>
                  <description>Pull-down. Pull-down resistor enabled.</description>
                  <value>0x1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>PULL_UP</name>
                  <description>Pull-up. Pull-up resistor enabled.</description>
                  <value>0x2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>REPEATER</name>
                  <description>Repeater. Repeater mode.</description>
                  <value>0x3</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>INVERT</name>
              <description>Input polarity.</description>
              <bitOffset>6</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>DISABLED</name>
                  <description>Disabled. Input function is not inverted.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ENABLED</name>
                  <description>Enabled. Input is function inverted.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>DIGIMODE</name>
              <description>Select Analog/Digital mode.</description>
              <bitOffset>7</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>ANALOG</name>
                  <description>Analog mode.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>DIGITAL</name>
                  <description>Digital mode.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>FILTEROFF</name>
              <description>Controls input glitch filter.</description>
              <bitOffset>8</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>ENABLED</name>
                  <description>Filter enabled. Noise pulses below approximately 10 ns are filtered out.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>DISABLED</name>
                  <description>Filter disabled. No input filtering is done.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>SLEW</name>
              <description>Driver slew rate.</description>
              <bitOffset>9</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>STANDARD</name>
                  <description>Standard mode, output slew rate control is enabled. More outputs can be switched simultaneously.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>FAST</name>
                  <description>Fast mode, slew rate control is disabled. Refer to the appropriate specific device data sheet for details.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>OD</name>
              <description>Controls open-drain mode.</description>
              <bitOffset>10</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>NORMAL</name>
                  <description>Normal. Normal push-pull output</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>OPEN_DRAIN</name>
                  <description>Open-drain. Simulated open-drain output (high drive disabled).</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>PIO06</name>
          <description>Digital I/O control for port 0 pins PIO0_6</description>
          <addressOffset>0x18</addressOffset>
          <size>32</size>
          <access>read-write</access>
          <resetValue>0x190</resetValue>
          <resetMask>0x7DF</resetMask>
          <fields>
            <field>
              <name>FUNC</name>
              <description>Selects pin function.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>3</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>ALT0</name>
                  <description>Alternative connection 0.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT1</name>
                  <description>Alternative connection 1.</description>
                  <value>0x1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT2</name>
                  <description>Alternative connection 2.</description>
                  <value>0x2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT3</name>
                  <description>Alternative connection 3.</description>
                  <value>0x3</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT4</name>
                  <description>Alternative connection 4.</description>
                  <value>0x4</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT5</name>
                  <description>Alternative connection 5.</description>
                  <value>0x5</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT6</name>
                  <description>Alternative connection 6.</description>
                  <value>0x6</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT7</name>
                  <description>Alternative connection 7.</description>
                  <value>0x7</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>MODE</name>
              <description>Selects function mode (on-chip pull-up/pull-down resistor control).</description>
              <bitOffset>3</bitOffset>
              <bitWidth>2</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>INACTIVE</name>
                  <description>Inactive. Inactive (no pull-down/pull-up resistor enabled).</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>PULL_DOWN</name>
                  <description>Pull-down. Pull-down resistor enabled.</description>
                  <value>0x1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>PULL_UP</name>
                  <description>Pull-up. Pull-up resistor enabled.</description>
                  <value>0x2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>REPEATER</name>
                  <description>Repeater. Repeater mode.</description>
                  <value>0x3</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>INVERT</name>
              <description>Input polarity.</description>
              <bitOffset>6</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>DISABLED</name>
                  <description>Disabled. Input function is not inverted.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ENABLED</name>
                  <description>Enabled. Input is function inverted.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>DIGIMODE</name>
              <description>Select Analog/Digital mode.</description>
              <bitOffset>7</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>ANALOG</name>
                  <description>Analog mode.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>DIGITAL</name>
                  <description>Digital mode.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>FILTEROFF</name>
              <description>Controls input glitch filter.</description>
              <bitOffset>8</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>ENABLED</name>
                  <description>Filter enabled. Noise pulses below approximately 10 ns are filtered out.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>DISABLED</name>
                  <description>Filter disabled. No input filtering is done.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>SLEW</name>
              <description>Driver slew rate.</description>
              <bitOffset>9</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>STANDARD</name>
                  <description>Standard mode, output slew rate control is enabled. More outputs can be switched simultaneously.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>FAST</name>
                  <description>Fast mode, slew rate control is disabled. Refer to the appropriate specific device data sheet for details.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>OD</name>
              <description>Controls open-drain mode.</description>
              <bitOffset>10</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>NORMAL</name>
                  <description>Normal. Normal push-pull output</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>OPEN_DRAIN</name>
                  <description>Open-drain. Simulated open-drain output (high drive disabled).</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>PIO07</name>
          <description>Digital I/O control for port 0 pins PIO0_7</description>
          <addressOffset>0x1C</addressOffset>
          <size>32</size>
          <access>read-write</access>
          <resetValue>0x190</resetValue>
          <resetMask>0x7DF</resetMask>
          <fields>
            <field>
              <name>FUNC</name>
              <description>Selects pin function.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>3</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>ALT0</name>
                  <description>Alternative connection 0.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT1</name>
                  <description>Alternative connection 1.</description>
                  <value>0x1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT2</name>
                  <description>Alternative connection 2.</description>
                  <value>0x2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT3</name>
                  <description>Alternative connection 3.</description>
                  <value>0x3</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT4</name>
                  <description>Alternative connection 4.</description>
                  <value>0x4</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT5</name>
                  <description>Alternative connection 5.</description>
                  <value>0x5</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT6</name>
                  <description>Alternative connection 6.</description>
                  <value>0x6</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT7</name>
                  <description>Alternative connection 7.</description>
                  <value>0x7</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>MODE</name>
              <description>Selects function mode (on-chip pull-up/pull-down resistor control).</description>
              <bitOffset>3</bitOffset>
              <bitWidth>2</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>INACTIVE</name>
                  <description>Inactive. Inactive (no pull-down/pull-up resistor enabled).</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>PULL_DOWN</name>
                  <description>Pull-down. Pull-down resistor enabled.</description>
                  <value>0x1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>PULL_UP</name>
                  <description>Pull-up. Pull-up resistor enabled.</description>
                  <value>0x2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>REPEATER</name>
                  <description>Repeater. Repeater mode.</description>
                  <value>0x3</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>INVERT</name>
              <description>Input polarity.</description>
              <bitOffset>6</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>DISABLED</name>
                  <description>Disabled. Input function is not inverted.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ENABLED</name>
                  <description>Enabled. Input is function inverted.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>DIGIMODE</name>
              <description>Select Analog/Digital mode.</description>
              <bitOffset>7</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>ANALOG</name>
                  <description>Analog mode.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>DIGITAL</name>
                  <description>Digital mode.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>FILTEROFF</name>
              <description>Controls input glitch filter.</description>
              <bitOffset>8</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>ENABLED</name>
                  <description>Filter enabled. Noise pulses below approximately 10 ns are filtered out.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>DISABLED</name>
                  <description>Filter disabled. No input filtering is done.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>SLEW</name>
              <description>Driver slew rate.</description>
              <bitOffset>9</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>STANDARD</name>
                  <description>Standard mode, output slew rate control is enabled. More outputs can be switched simultaneously.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>FAST</name>
                  <description>Fast mode, slew rate control is disabled. Refer to the appropriate specific device data sheet for details.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>OD</name>
              <description>Controls open-drain mode.</description>
              <bitOffset>10</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>NORMAL</name>
                  <description>Normal. Normal push-pull output</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>OPEN_DRAIN</name>
                  <description>Open-drain. Simulated open-drain output (high drive disabled).</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>PIO08</name>
          <description>Digital I/O control for port 0 pins PIO0_8</description>
          <addressOffset>0x20</addressOffset>
          <size>32</size>
          <access>read-write</access>
          <resetValue>0x190</resetValue>
          <resetMask>0x7DF</resetMask>
          <fields>
            <field>
              <name>FUNC</name>
              <description>Selects pin function.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>3</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>ALT0</name>
                  <description>Alternative connection 0.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT1</name>
                  <description>Alternative connection 1.</description>
                  <value>0x1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT2</name>
                  <description>Alternative connection 2.</description>
                  <value>0x2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT3</name>
                  <description>Alternative connection 3.</description>
                  <value>0x3</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT4</name>
                  <description>Alternative connection 4.</description>
                  <value>0x4</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT5</name>
                  <description>Alternative connection 5.</description>
                  <value>0x5</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT6</name>
                  <description>Alternative connection 6.</description>
                  <value>0x6</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT7</name>
                  <description>Alternative connection 7.</description>
                  <value>0x7</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>MODE</name>
              <description>Selects function mode (on-chip pull-up/pull-down resistor control).</description>
              <bitOffset>3</bitOffset>
              <bitWidth>2</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>INACTIVE</name>
                  <description>Inactive. Inactive (no pull-down/pull-up resistor enabled).</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>PULL_DOWN</name>
                  <description>Pull-down. Pull-down resistor enabled.</description>
                  <value>0x1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>PULL_UP</name>
                  <description>Pull-up. Pull-up resistor enabled.</description>
                  <value>0x2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>REPEATER</name>
                  <description>Repeater. Repeater mode.</description>
                  <value>0x3</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>INVERT</name>
              <description>Input polarity.</description>
              <bitOffset>6</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>DISABLED</name>
                  <description>Disabled. Input function is not inverted.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ENABLED</name>
                  <description>Enabled. Input is function inverted.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>DIGIMODE</name>
              <description>Select Analog/Digital mode.</description>
              <bitOffset>7</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>ANALOG</name>
                  <description>Analog mode.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>DIGITAL</name>
                  <description>Digital mode.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>FILTEROFF</name>
              <description>Controls input glitch filter.</description>
              <bitOffset>8</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>ENABLED</name>
                  <description>Filter enabled. Noise pulses below approximately 10 ns are filtered out.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>DISABLED</name>
                  <description>Filter disabled. No input filtering is done.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>SLEW</name>
              <description>Driver slew rate.</description>
              <bitOffset>9</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>STANDARD</name>
                  <description>Standard mode, output slew rate control is enabled. More outputs can be switched simultaneously.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>FAST</name>
                  <description>Fast mode, slew rate control is disabled. Refer to the appropriate specific device data sheet for details.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>OD</name>
              <description>Controls open-drain mode.</description>
              <bitOffset>10</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>NORMAL</name>
                  <description>Normal. Normal push-pull output</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>OPEN_DRAIN</name>
                  <description>Open-drain. Simulated open-drain output (high drive disabled).</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>PIO09</name>
          <description>Digital I/O control for port 0 pins PIO0_9</description>
          <addressOffset>0x24</addressOffset>
          <size>32</size>
          <access>read-write</access>
          <resetValue>0x190</resetValue>
          <resetMask>0x7DF</resetMask>
          <fields>
            <field>
              <name>FUNC</name>
              <description>Selects pin function.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>3</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>ALT0</name>
                  <description>Alternative connection 0.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT1</name>
                  <description>Alternative connection 1.</description>
                  <value>0x1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT2</name>
                  <description>Alternative connection 2.</description>
                  <value>0x2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT3</name>
                  <description>Alternative connection 3.</description>
                  <value>0x3</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT4</name>
                  <description>Alternative connection 4.</description>
                  <value>0x4</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT5</name>
                  <description>Alternative connection 5.</description>
                  <value>0x5</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT6</name>
                  <description>Alternative connection 6.</description>
                  <value>0x6</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT7</name>
                  <description>Alternative connection 7.</description>
                  <value>0x7</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>MODE</name>
              <description>Selects function mode (on-chip pull-up/pull-down resistor control).</description>
              <bitOffset>3</bitOffset>
              <bitWidth>2</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>INACTIVE</name>
                  <description>Inactive. Inactive (no pull-down/pull-up resistor enabled).</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>PULL_DOWN</name>
                  <description>Pull-down. Pull-down resistor enabled.</description>
                  <value>0x1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>PULL_UP</name>
                  <description>Pull-up. Pull-up resistor enabled.</description>
                  <value>0x2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>REPEATER</name>
                  <description>Repeater. Repeater mode.</description>
                  <value>0x3</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>INVERT</name>
              <description>Input polarity.</description>
              <bitOffset>6</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>DISABLED</name>
                  <description>Disabled. Input function is not inverted.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ENABLED</name>
                  <description>Enabled. Input is function inverted.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>DIGIMODE</name>
              <description>Select Analog/Digital mode.</description>
              <bitOffset>7</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>ANALOG</name>
                  <description>Analog mode.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>DIGITAL</name>
                  <description>Digital mode.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>FILTEROFF</name>
              <description>Controls input glitch filter.</description>
              <bitOffset>8</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>ENABLED</name>
                  <description>Filter enabled. Noise pulses below approximately 10 ns are filtered out.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>DISABLED</name>
                  <description>Filter disabled. No input filtering is done.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>SLEW</name>
              <description>Driver slew rate.</description>
              <bitOffset>9</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>STANDARD</name>
                  <description>Standard mode, output slew rate control is enabled. More outputs can be switched simultaneously.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>FAST</name>
                  <description>Fast mode, slew rate control is disabled. Refer to the appropriate specific device data sheet for details.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>OD</name>
              <description>Controls open-drain mode.</description>
              <bitOffset>10</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>NORMAL</name>
                  <description>Normal. Normal push-pull output</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>OPEN_DRAIN</name>
                  <description>Open-drain. Simulated open-drain output (high drive disabled).</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>PIO010</name>
          <description>Digital I/O control for port 0 pins PIO0_10</description>
          <addressOffset>0x28</addressOffset>
          <size>32</size>
          <access>read-write</access>
          <resetValue>0x190</resetValue>
          <resetMask>0x7DF</resetMask>
          <fields>
            <field>
              <name>FUNC</name>
              <description>Selects pin function.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>3</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>ALT0</name>
                  <description>Alternative connection 0.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT1</name>
                  <description>Alternative connection 1.</description>
                  <value>0x1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT2</name>
                  <description>Alternative connection 2.</description>
                  <value>0x2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT3</name>
                  <description>Alternative connection 3.</description>
                  <value>0x3</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT4</name>
                  <description>Alternative connection 4.</description>
                  <value>0x4</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT5</name>
                  <description>Alternative connection 5.</description>
                  <value>0x5</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT6</name>
                  <description>Alternative connection 6.</description>
                  <value>0x6</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT7</name>
                  <description>Alternative connection 7.</description>
                  <value>0x7</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>MODE</name>
              <description>Selects function mode (on-chip pull-up/pull-down resistor control).</description>
              <bitOffset>3</bitOffset>
              <bitWidth>2</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>INACTIVE</name>
                  <description>Inactive. Inactive (no pull-down/pull-up resistor enabled).</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>PULL_DOWN</name>
                  <description>Pull-down. Pull-down resistor enabled.</description>
                  <value>0x1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>PULL_UP</name>
                  <description>Pull-up. Pull-up resistor enabled.</description>
                  <value>0x2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>REPEATER</name>
                  <description>Repeater. Repeater mode.</description>
                  <value>0x3</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>INVERT</name>
              <description>Input polarity.</description>
              <bitOffset>6</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>DISABLED</name>
                  <description>Disabled. Input function is not inverted.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ENABLED</name>
                  <description>Enabled. Input is function inverted.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>DIGIMODE</name>
              <description>Select Analog/Digital mode.</description>
              <bitOffset>7</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>ANALOG</name>
                  <description>Analog mode.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>DIGITAL</name>
                  <description>Digital mode.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>FILTEROFF</name>
              <description>Controls input glitch filter.</description>
              <bitOffset>8</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>ENABLED</name>
                  <description>Filter enabled. Noise pulses below approximately 10 ns are filtered out.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>DISABLED</name>
                  <description>Filter disabled. No input filtering is done.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>SLEW</name>
              <description>Driver slew rate.</description>
              <bitOffset>9</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>STANDARD</name>
                  <description>Standard mode, output slew rate control is enabled. More outputs can be switched simultaneously.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>FAST</name>
                  <description>Fast mode, slew rate control is disabled. Refer to the appropriate specific device data sheet for details.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>OD</name>
              <description>Controls open-drain mode.</description>
              <bitOffset>10</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>NORMAL</name>
                  <description>Normal. Normal push-pull output</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>OPEN_DRAIN</name>
                  <description>Open-drain. Simulated open-drain output (high drive disabled).</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>PIO011</name>
          <description>Digital I/O control for port 0 pins PIO0_11</description>
          <addressOffset>0x2C</addressOffset>
          <size>32</size>
          <access>read-write</access>
          <resetValue>0x190</resetValue>
          <resetMask>0x7DF</resetMask>
          <fields>
            <field>
              <name>FUNC</name>
              <description>Selects pin function.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>3</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>ALT0</name>
                  <description>Alternative connection 0.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT1</name>
                  <description>Alternative connection 1.</description>
                  <value>0x1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT2</name>
                  <description>Alternative connection 2.</description>
                  <value>0x2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT3</name>
                  <description>Alternative connection 3.</description>
                  <value>0x3</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT4</name>
                  <description>Alternative connection 4.</description>
                  <value>0x4</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT5</name>
                  <description>Alternative connection 5.</description>
                  <value>0x5</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT6</name>
                  <description>Alternative connection 6.</description>
                  <value>0x6</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT7</name>
                  <description>Alternative connection 7.</description>
                  <value>0x7</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>MODE</name>
              <description>Selects function mode (on-chip pull-up/pull-down resistor control).</description>
              <bitOffset>3</bitOffset>
              <bitWidth>2</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>INACTIVE</name>
                  <description>Inactive. Inactive (no pull-down/pull-up resistor enabled).</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>PULL_DOWN</name>
                  <description>Pull-down. Pull-down resistor enabled.</description>
                  <value>0x1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>PULL_UP</name>
                  <description>Pull-up. Pull-up resistor enabled.</description>
                  <value>0x2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>REPEATER</name>
                  <description>Repeater. Repeater mode.</description>
                  <value>0x3</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>INVERT</name>
              <description>Input polarity.</description>
              <bitOffset>6</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>DISABLED</name>
                  <description>Disabled. Input function is not inverted.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ENABLED</name>
                  <description>Enabled. Input is function inverted.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>DIGIMODE</name>
              <description>Select Analog/Digital mode.</description>
              <bitOffset>7</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>ANALOG</name>
                  <description>Analog mode.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>DIGITAL</name>
                  <description>Digital mode.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>FILTEROFF</name>
              <description>Controls input glitch filter.</description>
              <bitOffset>8</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>ENABLED</name>
                  <description>Filter enabled. Noise pulses below approximately 10 ns are filtered out.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>DISABLED</name>
                  <description>Filter disabled. No input filtering is done.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>SLEW</name>
              <description>Driver slew rate.</description>
              <bitOffset>9</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>STANDARD</name>
                  <description>Standard mode, output slew rate control is enabled. More outputs can be switched simultaneously.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>FAST</name>
                  <description>Fast mode, slew rate control is disabled. Refer to the appropriate specific device data sheet for details.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>OD</name>
              <description>Controls open-drain mode.</description>
              <bitOffset>10</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>NORMAL</name>
                  <description>Normal. Normal push-pull output</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>OPEN_DRAIN</name>
                  <description>Open-drain. Simulated open-drain output (high drive disabled).</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>PIO012</name>
          <description>Digital I/O control for port 0 pins PIO0_12</description>
          <addressOffset>0x30</addressOffset>
          <size>32</size>
          <access>read-write</access>
          <resetValue>0x190</resetValue>
          <resetMask>0x7DF</resetMask>
          <fields>
            <field>
              <name>FUNC</name>
              <description>Selects pin function.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>3</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>ALT0</name>
                  <description>Alternative connection 0.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT1</name>
                  <description>Alternative connection 1.</description>
                  <value>0x1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT2</name>
                  <description>Alternative connection 2.</description>
                  <value>0x2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT3</name>
                  <description>Alternative connection 3.</description>
                  <value>0x3</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT4</name>
                  <description>Alternative connection 4.</description>
                  <value>0x4</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT5</name>
                  <description>Alternative connection 5.</description>
                  <value>0x5</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT6</name>
                  <description>Alternative connection 6.</description>
                  <value>0x6</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT7</name>
                  <description>Alternative connection 7.</description>
                  <value>0x7</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>MODE</name>
              <description>Selects function mode (on-chip pull-up/pull-down resistor control).</description>
              <bitOffset>3</bitOffset>
              <bitWidth>2</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>INACTIVE</name>
                  <description>Inactive. Inactive (no pull-down/pull-up resistor enabled).</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>PULL_DOWN</name>
                  <description>Pull-down. Pull-down resistor enabled.</description>
                  <value>0x1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>PULL_UP</name>
                  <description>Pull-up. Pull-up resistor enabled.</description>
                  <value>0x2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>REPEATER</name>
                  <description>Repeater. Repeater mode.</description>
                  <value>0x3</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>INVERT</name>
              <description>Input polarity.</description>
              <bitOffset>6</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>DISABLED</name>
                  <description>Disabled. Input function is not inverted.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ENABLED</name>
                  <description>Enabled. Input is function inverted.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>DIGIMODE</name>
              <description>Select Analog/Digital mode.</description>
              <bitOffset>7</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>ANALOG</name>
                  <description>Analog mode.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>DIGITAL</name>
                  <description>Digital mode.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>FILTEROFF</name>
              <description>Controls input glitch filter.</description>
              <bitOffset>8</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>ENABLED</name>
                  <description>Filter enabled. Noise pulses below approximately 10 ns are filtered out.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>DISABLED</name>
                  <description>Filter disabled. No input filtering is done.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>SLEW</name>
              <description>Driver slew rate.</description>
              <bitOffset>9</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>STANDARD</name>
                  <description>Standard mode, output slew rate control is enabled. More outputs can be switched simultaneously.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>FAST</name>
                  <description>Fast mode, slew rate control is disabled. Refer to the appropriate specific device data sheet for details.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>OD</name>
              <description>Controls open-drain mode.</description>
              <bitOffset>10</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>NORMAL</name>
                  <description>Normal. Normal push-pull output</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>OPEN_DRAIN</name>
                  <description>Open-drain. Simulated open-drain output (high drive disabled).</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>PIO013</name>
          <description>Digital I/O control for port 0 pins PIO0_13</description>
          <addressOffset>0x34</addressOffset>
          <size>32</size>
          <access>read-write</access>
          <resetValue>0x190</resetValue>
          <resetMask>0x7DF</resetMask>
          <fields>
            <field>
              <name>FUNC</name>
              <description>Selects pin function.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>3</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>ALT0</name>
                  <description>Alternative connection 0.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT1</name>
                  <description>Alternative connection 1.</description>
                  <value>0x1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT2</name>
                  <description>Alternative connection 2.</description>
                  <value>0x2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT3</name>
                  <description>Alternative connection 3.</description>
                  <value>0x3</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT4</name>
                  <description>Alternative connection 4.</description>
                  <value>0x4</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT5</name>
                  <description>Alternative connection 5.</description>
                  <value>0x5</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT6</name>
                  <description>Alternative connection 6.</description>
                  <value>0x6</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT7</name>
                  <description>Alternative connection 7.</description>
                  <value>0x7</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>MODE</name>
              <description>Selects function mode (on-chip pull-up/pull-down resistor control).</description>
              <bitOffset>3</bitOffset>
              <bitWidth>2</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>INACTIVE</name>
                  <description>Inactive. Inactive (no pull-down/pull-up resistor enabled).</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>PULL_DOWN</name>
                  <description>Pull-down. Pull-down resistor enabled.</description>
                  <value>0x1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>PULL_UP</name>
                  <description>Pull-up. Pull-up resistor enabled.</description>
                  <value>0x2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>REPEATER</name>
                  <description>Repeater. Repeater mode.</description>
                  <value>0x3</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>INVERT</name>
              <description>Input polarity.</description>
              <bitOffset>6</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>DISABLED</name>
                  <description>Disabled. Input function is not inverted.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ENABLED</name>
                  <description>Enabled. Input is function inverted.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>DIGIMODE</name>
              <description>Select Analog/Digital mode.</description>
              <bitOffset>7</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>ANALOG</name>
                  <description>Analog mode.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>DIGITAL</name>
                  <description>Digital mode.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>FILTEROFF</name>
              <description>Controls input glitch filter.</description>
              <bitOffset>8</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>ENABLED</name>
                  <description>Filter enabled. Noise pulses below approximately 10 ns are filtered out.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>DISABLED</name>
                  <description>Filter disabled. No input filtering is done.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>SLEW</name>
              <description>Driver slew rate.</description>
              <bitOffset>9</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>STANDARD</name>
                  <description>Standard mode, output slew rate control is enabled. More outputs can be switched simultaneously.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>FAST</name>
                  <description>Fast mode, slew rate control is disabled. Refer to the appropriate specific device data sheet for details.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>OD</name>
              <description>Controls open-drain mode.</description>
              <bitOffset>10</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>NORMAL</name>
                  <description>Normal. Normal push-pull output</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>OPEN_DRAIN</name>
                  <description>Open-drain. Simulated open-drain output (high drive disabled).</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>PIO014</name>
          <description>Digital I/O control for port 0 pins PIO0_14</description>
          <addressOffset>0x38</addressOffset>
          <size>32</size>
          <access>read-write</access>
          <resetValue>0x190</resetValue>
          <resetMask>0x7DF</resetMask>
          <fields>
            <field>
              <name>FUNC</name>
              <description>Selects pin function.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>3</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>ALT0</name>
                  <description>Alternative connection 0.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT1</name>
                  <description>Alternative connection 1.</description>
                  <value>0x1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT2</name>
                  <description>Alternative connection 2.</description>
                  <value>0x2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT3</name>
                  <description>Alternative connection 3.</description>
                  <value>0x3</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT4</name>
                  <description>Alternative connection 4.</description>
                  <value>0x4</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT5</name>
                  <description>Alternative connection 5.</description>
                  <value>0x5</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT6</name>
                  <description>Alternative connection 6.</description>
                  <value>0x6</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT7</name>
                  <description>Alternative connection 7.</description>
                  <value>0x7</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>MODE</name>
              <description>Selects function mode (on-chip pull-up/pull-down resistor control).</description>
              <bitOffset>3</bitOffset>
              <bitWidth>2</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>INACTIVE</name>
                  <description>Inactive. Inactive (no pull-down/pull-up resistor enabled).</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>PULL_DOWN</name>
                  <description>Pull-down. Pull-down resistor enabled.</description>
                  <value>0x1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>PULL_UP</name>
                  <description>Pull-up. Pull-up resistor enabled.</description>
                  <value>0x2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>REPEATER</name>
                  <description>Repeater. Repeater mode.</description>
                  <value>0x3</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>INVERT</name>
              <description>Input polarity.</description>
              <bitOffset>6</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>DISABLED</name>
                  <description>Disabled. Input function is not inverted.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ENABLED</name>
                  <description>Enabled. Input is function inverted.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>DIGIMODE</name>
              <description>Select Analog/Digital mode.</description>
              <bitOffset>7</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>ANALOG</name>
                  <description>Analog mode.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>DIGITAL</name>
                  <description>Digital mode.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>FILTEROFF</name>
              <description>Controls input glitch filter.</description>
              <bitOffset>8</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>ENABLED</name>
                  <description>Filter enabled. Noise pulses below approximately 10 ns are filtered out.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>DISABLED</name>
                  <description>Filter disabled. No input filtering is done.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>SLEW</name>
              <description>Driver slew rate.</description>
              <bitOffset>9</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>STANDARD</name>
                  <description>Standard mode, output slew rate control is enabled. More outputs can be switched simultaneously.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>FAST</name>
                  <description>Fast mode, slew rate control is disabled. Refer to the appropriate specific device data sheet for details.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>OD</name>
              <description>Controls open-drain mode.</description>
              <bitOffset>10</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>NORMAL</name>
                  <description>Normal. Normal push-pull output</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>OPEN_DRAIN</name>
                  <description>Open-drain. Simulated open-drain output (high drive disabled).</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>PIO015</name>
          <description>Digital I/O control for port 0 pins PIO0_15</description>
          <addressOffset>0x3C</addressOffset>
          <size>32</size>
          <access>read-write</access>
          <resetValue>0x190</resetValue>
          <resetMask>0x7DF</resetMask>
          <fields>
            <field>
              <name>FUNC</name>
              <description>Selects pin function.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>3</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>ALT0</name>
                  <description>Alternative connection 0.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT1</name>
                  <description>Alternative connection 1.</description>
                  <value>0x1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT2</name>
                  <description>Alternative connection 2.</description>
                  <value>0x2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT3</name>
                  <description>Alternative connection 3.</description>
                  <value>0x3</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT4</name>
                  <description>Alternative connection 4.</description>
                  <value>0x4</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT5</name>
                  <description>Alternative connection 5.</description>
                  <value>0x5</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT6</name>
                  <description>Alternative connection 6.</description>
                  <value>0x6</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT7</name>
                  <description>Alternative connection 7.</description>
                  <value>0x7</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>MODE</name>
              <description>Selects function mode (on-chip pull-up/pull-down resistor control).</description>
              <bitOffset>3</bitOffset>
              <bitWidth>2</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>INACTIVE</name>
                  <description>Inactive. Inactive (no pull-down/pull-up resistor enabled).</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>PULL_DOWN</name>
                  <description>Pull-down. Pull-down resistor enabled.</description>
                  <value>0x1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>PULL_UP</name>
                  <description>Pull-up. Pull-up resistor enabled.</description>
                  <value>0x2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>REPEATER</name>
                  <description>Repeater. Repeater mode.</description>
                  <value>0x3</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>INVERT</name>
              <description>Input polarity.</description>
              <bitOffset>6</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>DISABLED</name>
                  <description>Disabled. Input function is not inverted.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ENABLED</name>
                  <description>Enabled. Input is function inverted.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>DIGIMODE</name>
              <description>Select Analog/Digital mode.</description>
              <bitOffset>7</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>ANALOG</name>
                  <description>Analog mode.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>DIGITAL</name>
                  <description>Digital mode.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>FILTEROFF</name>
              <description>Controls input glitch filter.</description>
              <bitOffset>8</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>ENABLED</name>
                  <description>Filter enabled. Noise pulses below approximately 10 ns are filtered out.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>DISABLED</name>
                  <description>Filter disabled. No input filtering is done.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>SLEW</name>
              <description>Driver slew rate.</description>
              <bitOffset>9</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>STANDARD</name>
                  <description>Standard mode, output slew rate control is enabled. More outputs can be switched simultaneously.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>FAST</name>
                  <description>Fast mode, slew rate control is disabled. Refer to the appropriate specific device data sheet for details.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>OD</name>
              <description>Controls open-drain mode.</description>
              <bitOffset>10</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>NORMAL</name>
                  <description>Normal. Normal push-pull output</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>OPEN_DRAIN</name>
                  <description>Open-drain. Simulated open-drain output (high drive disabled).</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>PIO016</name>
          <description>Digital I/O control for port 0 pins PIO0_16</description>
          <addressOffset>0x40</addressOffset>
          <size>32</size>
          <access>read-write</access>
          <resetValue>0x195</resetValue>
          <resetMask>0x7DF</resetMask>
          <fields>
            <field>
              <name>FUNC</name>
              <description>Selects pin function.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>3</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>ALT0</name>
                  <description>Alternative connection 0.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT1</name>
                  <description>Alternative connection 1.</description>
                  <value>0x1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT2</name>
                  <description>Alternative connection 2.</description>
                  <value>0x2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT3</name>
                  <description>Alternative connection 3.</description>
                  <value>0x3</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT4</name>
                  <description>Alternative connection 4.</description>
                  <value>0x4</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT5</name>
                  <description>Alternative connection 5.</description>
                  <value>0x5</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT6</name>
                  <description>Alternative connection 6.</description>
                  <value>0x6</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT7</name>
                  <description>Alternative connection 7.</description>
                  <value>0x7</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>MODE</name>
              <description>Selects function mode (on-chip pull-up/pull-down resistor control).</description>
              <bitOffset>3</bitOffset>
              <bitWidth>2</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>INACTIVE</name>
                  <description>Inactive. Inactive (no pull-down/pull-up resistor enabled).</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>PULL_DOWN</name>
                  <description>Pull-down. Pull-down resistor enabled.</description>
                  <value>0x1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>PULL_UP</name>
                  <description>Pull-up. Pull-up resistor enabled.</description>
                  <value>0x2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>REPEATER</name>
                  <description>Repeater. Repeater mode.</description>
                  <value>0x3</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>INVERT</name>
              <description>Input polarity.</description>
              <bitOffset>6</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>DISABLED</name>
                  <description>Disabled. Input function is not inverted.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ENABLED</name>
                  <description>Enabled. Input is function inverted.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>DIGIMODE</name>
              <description>Select Analog/Digital mode.</description>
              <bitOffset>7</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>ANALOG</name>
                  <description>Analog mode.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>DIGITAL</name>
                  <description>Digital mode.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>FILTEROFF</name>
              <description>Controls input glitch filter.</description>
              <bitOffset>8</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>ENABLED</name>
                  <description>Filter enabled. Noise pulses below approximately 10 ns are filtered out.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>DISABLED</name>
                  <description>Filter disabled. No input filtering is done.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>SLEW</name>
              <description>Driver slew rate.</description>
              <bitOffset>9</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>STANDARD</name>
                  <description>Standard mode, output slew rate control is enabled. More outputs can be switched simultaneously.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>FAST</name>
                  <description>Fast mode, slew rate control is disabled. Refer to the appropriate specific device data sheet for details.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>OD</name>
              <description>Controls open-drain mode.</description>
              <bitOffset>10</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>NORMAL</name>
                  <description>Normal. Normal push-pull output</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>OPEN_DRAIN</name>
                  <description>Open-drain. Simulated open-drain output (high drive disabled).</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>PIO017</name>
          <description>Digital I/O control for port 0 pins PIO0_17</description>
          <addressOffset>0x44</addressOffset>
          <size>32</size>
          <access>read-write</access>
          <resetValue>0x195</resetValue>
          <resetMask>0x7DF</resetMask>
          <fields>
            <field>
              <name>FUNC</name>
              <description>Selects pin function.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>3</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>ALT0</name>
                  <description>Alternative connection 0.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT1</name>
                  <description>Alternative connection 1.</description>
                  <value>0x1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT2</name>
                  <description>Alternative connection 2.</description>
                  <value>0x2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT3</name>
                  <description>Alternative connection 3.</description>
                  <value>0x3</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT4</name>
                  <description>Alternative connection 4.</description>
                  <value>0x4</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT5</name>
                  <description>Alternative connection 5.</description>
                  <value>0x5</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT6</name>
                  <description>Alternative connection 6.</description>
                  <value>0x6</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT7</name>
                  <description>Alternative connection 7.</description>
                  <value>0x7</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>MODE</name>
              <description>Selects function mode (on-chip pull-up/pull-down resistor control).</description>
              <bitOffset>3</bitOffset>
              <bitWidth>2</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>INACTIVE</name>
                  <description>Inactive. Inactive (no pull-down/pull-up resistor enabled).</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>PULL_DOWN</name>
                  <description>Pull-down. Pull-down resistor enabled.</description>
                  <value>0x1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>PULL_UP</name>
                  <description>Pull-up. Pull-up resistor enabled.</description>
                  <value>0x2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>REPEATER</name>
                  <description>Repeater. Repeater mode.</description>
                  <value>0x3</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>INVERT</name>
              <description>Input polarity.</description>
              <bitOffset>6</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>DISABLED</name>
                  <description>Disabled. Input function is not inverted.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ENABLED</name>
                  <description>Enabled. Input is function inverted.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>DIGIMODE</name>
              <description>Select Analog/Digital mode.</description>
              <bitOffset>7</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>ANALOG</name>
                  <description>Analog mode.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>DIGITAL</name>
                  <description>Digital mode.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>FILTEROFF</name>
              <description>Controls input glitch filter.</description>
              <bitOffset>8</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>ENABLED</name>
                  <description>Filter enabled. Noise pulses below approximately 10 ns are filtered out.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>DISABLED</name>
                  <description>Filter disabled. No input filtering is done.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>SLEW</name>
              <description>Driver slew rate.</description>
              <bitOffset>9</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>STANDARD</name>
                  <description>Standard mode, output slew rate control is enabled. More outputs can be switched simultaneously.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>FAST</name>
                  <description>Fast mode, slew rate control is disabled. Refer to the appropriate specific device data sheet for details.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>OD</name>
              <description>Controls open-drain mode.</description>
              <bitOffset>10</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>NORMAL</name>
                  <description>Normal. Normal push-pull output</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>OPEN_DRAIN</name>
                  <description>Open-drain. Simulated open-drain output (high drive disabled).</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>PIO018</name>
          <description>Digital I/O control for port 0 pins PIO0_18</description>
          <addressOffset>0x48</addressOffset>
          <size>32</size>
          <access>read-write</access>
          <resetValue>0x190</resetValue>
          <resetMask>0x7DF</resetMask>
          <fields>
            <field>
              <name>FUNC</name>
              <description>Selects pin function.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>3</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>ALT0</name>
                  <description>Alternative connection 0.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT1</name>
                  <description>Alternative connection 1.</description>
                  <value>0x1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT2</name>
                  <description>Alternative connection 2.</description>
                  <value>0x2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT3</name>
                  <description>Alternative connection 3.</description>
                  <value>0x3</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT4</name>
                  <description>Alternative connection 4.</description>
                  <value>0x4</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT5</name>
                  <description>Alternative connection 5.</description>
                  <value>0x5</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT6</name>
                  <description>Alternative connection 6.</description>
                  <value>0x6</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT7</name>
                  <description>Alternative connection 7.</description>
                  <value>0x7</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>MODE</name>
              <description>Selects function mode (on-chip pull-up/pull-down resistor control).</description>
              <bitOffset>3</bitOffset>
              <bitWidth>2</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>INACTIVE</name>
                  <description>Inactive. Inactive (no pull-down/pull-up resistor enabled).</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>PULL_DOWN</name>
                  <description>Pull-down. Pull-down resistor enabled.</description>
                  <value>0x1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>PULL_UP</name>
                  <description>Pull-up. Pull-up resistor enabled.</description>
                  <value>0x2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>REPEATER</name>
                  <description>Repeater. Repeater mode.</description>
                  <value>0x3</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>INVERT</name>
              <description>Input polarity.</description>
              <bitOffset>6</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>DISABLED</name>
                  <description>Disabled. Input function is not inverted.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ENABLED</name>
                  <description>Enabled. Input is function inverted.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>DIGIMODE</name>
              <description>Select Analog/Digital mode.</description>
              <bitOffset>7</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>ANALOG</name>
                  <description>Analog mode.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>DIGITAL</name>
                  <description>Digital mode.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>FILTEROFF</name>
              <description>Controls input glitch filter.</description>
              <bitOffset>8</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>ENABLED</name>
                  <description>Filter enabled. Noise pulses below approximately 10 ns are filtered out.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>DISABLED</name>
                  <description>Filter disabled. No input filtering is done.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>SLEW</name>
              <description>Driver slew rate.</description>
              <bitOffset>9</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>STANDARD</name>
                  <description>Standard mode, output slew rate control is enabled. More outputs can be switched simultaneously.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>FAST</name>
                  <description>Fast mode, slew rate control is disabled. Refer to the appropriate specific device data sheet for details.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>OD</name>
              <description>Controls open-drain mode.</description>
              <bitOffset>10</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>NORMAL</name>
                  <description>Normal. Normal push-pull output</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>OPEN_DRAIN</name>
                  <description>Open-drain. Simulated open-drain output (high drive disabled).</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>PIO019</name>
          <description>Digital I/O control for port 0 pins PIO0_19</description>
          <addressOffset>0x4C</addressOffset>
          <size>32</size>
          <access>read-write</access>
          <resetValue>0x190</resetValue>
          <resetMask>0x7DF</resetMask>
          <fields>
            <field>
              <name>FUNC</name>
              <description>Selects pin function.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>3</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>ALT0</name>
                  <description>Alternative connection 0.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT1</name>
                  <description>Alternative connection 1.</description>
                  <value>0x1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT2</name>
                  <description>Alternative connection 2.</description>
                  <value>0x2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT3</name>
                  <description>Alternative connection 3.</description>
                  <value>0x3</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT4</name>
                  <description>Alternative connection 4.</description>
                  <value>0x4</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT5</name>
                  <description>Alternative connection 5.</description>
                  <value>0x5</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT6</name>
                  <description>Alternative connection 6.</description>
                  <value>0x6</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT7</name>
                  <description>Alternative connection 7.</description>
                  <value>0x7</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>MODE</name>
              <description>Selects function mode (on-chip pull-up/pull-down resistor control).</description>
              <bitOffset>3</bitOffset>
              <bitWidth>2</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>INACTIVE</name>
                  <description>Inactive. Inactive (no pull-down/pull-up resistor enabled).</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>PULL_DOWN</name>
                  <description>Pull-down. Pull-down resistor enabled.</description>
                  <value>0x1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>PULL_UP</name>
                  <description>Pull-up. Pull-up resistor enabled.</description>
                  <value>0x2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>REPEATER</name>
                  <description>Repeater. Repeater mode.</description>
                  <value>0x3</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>INVERT</name>
              <description>Input polarity.</description>
              <bitOffset>6</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>DISABLED</name>
                  <description>Disabled. Input function is not inverted.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ENABLED</name>
                  <description>Enabled. Input is function inverted.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>DIGIMODE</name>
              <description>Select Analog/Digital mode.</description>
              <bitOffset>7</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>ANALOG</name>
                  <description>Analog mode.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>DIGITAL</name>
                  <description>Digital mode.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>FILTEROFF</name>
              <description>Controls input glitch filter.</description>
              <bitOffset>8</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>ENABLED</name>
                  <description>Filter enabled. Noise pulses below approximately 10 ns are filtered out.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>DISABLED</name>
                  <description>Filter disabled. No input filtering is done.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>SLEW</name>
              <description>Driver slew rate.</description>
              <bitOffset>9</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>STANDARD</name>
                  <description>Standard mode, output slew rate control is enabled. More outputs can be switched simultaneously.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>FAST</name>
                  <description>Fast mode, slew rate control is disabled. Refer to the appropriate specific device data sheet for details.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>OD</name>
              <description>Controls open-drain mode.</description>
              <bitOffset>10</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>NORMAL</name>
                  <description>Normal. Normal push-pull output</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>OPEN_DRAIN</name>
                  <description>Open-drain. Simulated open-drain output (high drive disabled).</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>PIO020</name>
          <description>Digital I/O control for port 0 pins PIO0_20</description>
          <addressOffset>0x50</addressOffset>
          <size>32</size>
          <access>read-write</access>
          <resetValue>0x190</resetValue>
          <resetMask>0x7DF</resetMask>
          <fields>
            <field>
              <name>FUNC</name>
              <description>Selects pin function.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>3</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>ALT0</name>
                  <description>Alternative connection 0.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT1</name>
                  <description>Alternative connection 1.</description>
                  <value>0x1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT2</name>
                  <description>Alternative connection 2.</description>
                  <value>0x2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT3</name>
                  <description>Alternative connection 3.</description>
                  <value>0x3</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT4</name>
                  <description>Alternative connection 4.</description>
                  <value>0x4</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT5</name>
                  <description>Alternative connection 5.</description>
                  <value>0x5</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT6</name>
                  <description>Alternative connection 6.</description>
                  <value>0x6</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT7</name>
                  <description>Alternative connection 7.</description>
                  <value>0x7</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>MODE</name>
              <description>Selects function mode (on-chip pull-up/pull-down resistor control).</description>
              <bitOffset>3</bitOffset>
              <bitWidth>2</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>INACTIVE</name>
                  <description>Inactive. Inactive (no pull-down/pull-up resistor enabled).</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>PULL_DOWN</name>
                  <description>Pull-down. Pull-down resistor enabled.</description>
                  <value>0x1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>PULL_UP</name>
                  <description>Pull-up. Pull-up resistor enabled.</description>
                  <value>0x2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>REPEATER</name>
                  <description>Repeater. Repeater mode.</description>
                  <value>0x3</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>INVERT</name>
              <description>Input polarity.</description>
              <bitOffset>6</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>DISABLED</name>
                  <description>Disabled. Input function is not inverted.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ENABLED</name>
                  <description>Enabled. Input is function inverted.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>DIGIMODE</name>
              <description>Select Analog/Digital mode.</description>
              <bitOffset>7</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>ANALOG</name>
                  <description>Analog mode.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>DIGITAL</name>
                  <description>Digital mode.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>FILTEROFF</name>
              <description>Controls input glitch filter.</description>
              <bitOffset>8</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>ENABLED</name>
                  <description>Filter enabled. Noise pulses below approximately 10 ns are filtered out.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>DISABLED</name>
                  <description>Filter disabled. No input filtering is done.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>SLEW</name>
              <description>Driver slew rate.</description>
              <bitOffset>9</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>STANDARD</name>
                  <description>Standard mode, output slew rate control is enabled. More outputs can be switched simultaneously.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>FAST</name>
                  <description>Fast mode, slew rate control is disabled. Refer to the appropriate specific device data sheet for details.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>OD</name>
              <description>Controls open-drain mode.</description>
              <bitOffset>10</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>NORMAL</name>
                  <description>Normal. Normal push-pull output</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>OPEN_DRAIN</name>
                  <description>Open-drain. Simulated open-drain output (high drive disabled).</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>PIO021</name>
          <description>Digital I/O control for port 0 pins PIO0_21</description>
          <addressOffset>0x54</addressOffset>
          <size>32</size>
          <access>read-write</access>
          <resetValue>0x190</resetValue>
          <resetMask>0x7DF</resetMask>
          <fields>
            <field>
              <name>FUNC</name>
              <description>Selects pin function.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>3</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>ALT0</name>
                  <description>Alternative connection 0.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT1</name>
                  <description>Alternative connection 1.</description>
                  <value>0x1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT2</name>
                  <description>Alternative connection 2.</description>
                  <value>0x2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT3</name>
                  <description>Alternative connection 3.</description>
                  <value>0x3</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT4</name>
                  <description>Alternative connection 4.</description>
                  <value>0x4</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT5</name>
                  <description>Alternative connection 5.</description>
                  <value>0x5</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT6</name>
                  <description>Alternative connection 6.</description>
                  <value>0x6</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT7</name>
                  <description>Alternative connection 7.</description>
                  <value>0x7</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>MODE</name>
              <description>Selects function mode (on-chip pull-up/pull-down resistor control).</description>
              <bitOffset>3</bitOffset>
              <bitWidth>2</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>INACTIVE</name>
                  <description>Inactive. Inactive (no pull-down/pull-up resistor enabled).</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>PULL_DOWN</name>
                  <description>Pull-down. Pull-down resistor enabled.</description>
                  <value>0x1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>PULL_UP</name>
                  <description>Pull-up. Pull-up resistor enabled.</description>
                  <value>0x2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>REPEATER</name>
                  <description>Repeater. Repeater mode.</description>
                  <value>0x3</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>INVERT</name>
              <description>Input polarity.</description>
              <bitOffset>6</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>DISABLED</name>
                  <description>Disabled. Input function is not inverted.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ENABLED</name>
                  <description>Enabled. Input is function inverted.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>DIGIMODE</name>
              <description>Select Analog/Digital mode.</description>
              <bitOffset>7</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>ANALOG</name>
                  <description>Analog mode.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>DIGITAL</name>
                  <description>Digital mode.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>FILTEROFF</name>
              <description>Controls input glitch filter.</description>
              <bitOffset>8</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>ENABLED</name>
                  <description>Filter enabled. Noise pulses below approximately 10 ns are filtered out.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>DISABLED</name>
                  <description>Filter disabled. No input filtering is done.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>SLEW</name>
              <description>Driver slew rate.</description>
              <bitOffset>9</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>STANDARD</name>
                  <description>Standard mode, output slew rate control is enabled. More outputs can be switched simultaneously.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>FAST</name>
                  <description>Fast mode, slew rate control is disabled. Refer to the appropriate specific device data sheet for details.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>OD</name>
              <description>Controls open-drain mode.</description>
              <bitOffset>10</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>NORMAL</name>
                  <description>Normal. Normal push-pull output</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>OPEN_DRAIN</name>
                  <description>Open-drain. Simulated open-drain output (high drive disabled).</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>PIO022</name>
          <description>Digital I/O control for port 0 pins PIO0_22</description>
          <addressOffset>0x58</addressOffset>
          <size>32</size>
          <access>read-write</access>
          <resetValue>0x190</resetValue>
          <resetMask>0x7DF</resetMask>
          <fields>
            <field>
              <name>FUNC</name>
              <description>Selects pin function.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>3</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>ALT0</name>
                  <description>Alternative connection 0.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT1</name>
                  <description>Alternative connection 1.</description>
                  <value>0x1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT2</name>
                  <description>Alternative connection 2.</description>
                  <value>0x2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT3</name>
                  <description>Alternative connection 3.</description>
                  <value>0x3</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT4</name>
                  <description>Alternative connection 4.</description>
                  <value>0x4</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT5</name>
                  <description>Alternative connection 5.</description>
                  <value>0x5</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT6</name>
                  <description>Alternative connection 6.</description>
                  <value>0x6</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT7</name>
                  <description>Alternative connection 7.</description>
                  <value>0x7</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>MODE</name>
              <description>Selects function mode (on-chip pull-up/pull-down resistor control).</description>
              <bitOffset>3</bitOffset>
              <bitWidth>2</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>INACTIVE</name>
                  <description>Inactive. Inactive (no pull-down/pull-up resistor enabled).</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>PULL_DOWN</name>
                  <description>Pull-down. Pull-down resistor enabled.</description>
                  <value>0x1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>PULL_UP</name>
                  <description>Pull-up. Pull-up resistor enabled.</description>
                  <value>0x2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>REPEATER</name>
                  <description>Repeater. Repeater mode.</description>
                  <value>0x3</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>INVERT</name>
              <description>Input polarity.</description>
              <bitOffset>6</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>DISABLED</name>
                  <description>Disabled. Input function is not inverted.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ENABLED</name>
                  <description>Enabled. Input is function inverted.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>DIGIMODE</name>
              <description>Select Analog/Digital mode.</description>
              <bitOffset>7</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>ANALOG</name>
                  <description>Analog mode.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>DIGITAL</name>
                  <description>Digital mode.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>FILTEROFF</name>
              <description>Controls input glitch filter.</description>
              <bitOffset>8</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>ENABLED</name>
                  <description>Filter enabled. Noise pulses below approximately 10 ns are filtered out.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>DISABLED</name>
                  <description>Filter disabled. No input filtering is done.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>SLEW</name>
              <description>Driver slew rate.</description>
              <bitOffset>9</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>STANDARD</name>
                  <description>Standard mode, output slew rate control is enabled. More outputs can be switched simultaneously.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>FAST</name>
                  <description>Fast mode, slew rate control is disabled. Refer to the appropriate specific device data sheet for details.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>OD</name>
              <description>Controls open-drain mode.</description>
              <bitOffset>10</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>NORMAL</name>
                  <description>Normal. Normal push-pull output</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>OPEN_DRAIN</name>
                  <description>Open-drain. Simulated open-drain output (high drive disabled).</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>PIO023</name>
          <description>Digital I/O control for port 0 pins PIO0_23</description>
          <addressOffset>0x5C</addressOffset>
          <size>32</size>
          <access>read-write</access>
          <resetValue>0x1A0</resetValue>
          <resetMask>0x7E7</resetMask>
          <fields>
            <field>
              <name>FUNC</name>
              <description>Selects pin function.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>3</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>ALT0</name>
                  <description>Alternative connection 0.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT1</name>
                  <description>Alternative connection 1.</description>
                  <value>0x1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT2</name>
                  <description>Alternative connection 2.</description>
                  <value>0x2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT3</name>
                  <description>Alternative connection 3.</description>
                  <value>0x3</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT4</name>
                  <description>Alternative connection 4.</description>
                  <value>0x4</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT5</name>
                  <description>Alternative connection 5.</description>
                  <value>0x5</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT6</name>
                  <description>Alternative connection 6.</description>
                  <value>0x6</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT7</name>
                  <description>Alternative connection 7.</description>
                  <value>0x7</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>I2CSLEW</name>
              <description>Controls slew rate of I2C pin.</description>
              <bitOffset>5</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>I2C_MODE</name>
                  <description>I2C mode.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>GPIO_MODE</name>
                  <description>GPIO mode.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>INVERT</name>
              <description>Input polarity.</description>
              <bitOffset>6</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>DISABLED</name>
                  <description>Disabled. Input function is not inverted.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ENABLED</name>
                  <description>Enabled. Input is function inverted.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>DIGIMODE</name>
              <description>Select Analog/Digital mode.</description>
              <bitOffset>7</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>ANALOG</name>
                  <description>Analog mode.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>DIGITAL</name>
                  <description>Digital mode.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>FILTEROFF</name>
              <description>Controls input glitch filter.</description>
              <bitOffset>8</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>ENABLED</name>
                  <description>Filter enabled. Noise pulses below approximately 10 ns are filtered out.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>DISABLED</name>
                  <description>Filter disabled. No input filtering is done.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>I2CDRIVE</name>
              <description>Controls the current sink capability of the pin.</description>
              <bitOffset>9</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>LOW</name>
                  <description>Low drive. Output drive sink is 4 mA. This is sufficient for standard and fast mode I2C.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>HIGH</name>
                  <description>High drive. Output drive sink is 20 mA. This is needed for Fast Mode Plus I 2C. Refer to the appropriate specific device data sheet for details.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>I2CFILTER</name>
              <description>Configures I2C features for standard mode, fast mode, and Fast Mode Plus operation.</description>
              <bitOffset>10</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>ENABLED</name>
                  <description>Enabled. I2C 50 ns glitch filter enabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>DISABLED</name>
                  <description>Disabled. I2C 50 ns glitch filter disabled.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>PIO024</name>
          <description>Digital I/O control for port 0 pins PIO0_24</description>
          <addressOffset>0x60</addressOffset>
          <size>32</size>
          <access>read-write</access>
          <resetValue>0x1A0</resetValue>
          <resetMask>0x7E7</resetMask>
          <fields>
            <field>
              <name>FUNC</name>
              <description>Selects pin function.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>3</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>ALT0</name>
                  <description>Alternative connection 0.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT1</name>
                  <description>Alternative connection 1.</description>
                  <value>0x1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT2</name>
                  <description>Alternative connection 2.</description>
                  <value>0x2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT3</name>
                  <description>Alternative connection 3.</description>
                  <value>0x3</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT4</name>
                  <description>Alternative connection 4.</description>
                  <value>0x4</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT5</name>
                  <description>Alternative connection 5.</description>
                  <value>0x5</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT6</name>
                  <description>Alternative connection 6.</description>
                  <value>0x6</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT7</name>
                  <description>Alternative connection 7.</description>
                  <value>0x7</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>I2CSLEW</name>
              <description>Controls slew rate of I2C pin.</description>
              <bitOffset>5</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>I2C_MODE</name>
                  <description>I2C mode.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>GPIO_MODE</name>
                  <description>GPIO mode.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>INVERT</name>
              <description>Input polarity.</description>
              <bitOffset>6</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>DISABLED</name>
                  <description>Disabled. Input function is not inverted.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ENABLED</name>
                  <description>Enabled. Input is function inverted.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>DIGIMODE</name>
              <description>Select Analog/Digital mode.</description>
              <bitOffset>7</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>ANALOG</name>
                  <description>Analog mode.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>DIGITAL</name>
                  <description>Digital mode.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>FILTEROFF</name>
              <description>Controls input glitch filter.</description>
              <bitOffset>8</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>ENABLED</name>
                  <description>Filter enabled. Noise pulses below approximately 10 ns are filtered out.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>DISABLED</name>
                  <description>Filter disabled. No input filtering is done.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>I2CDRIVE</name>
              <description>Controls the current sink capability of the pin.</description>
              <bitOffset>9</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>LOW</name>
                  <description>Low drive. Output drive sink is 4 mA. This is sufficient for standard and fast mode I2C.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>HIGH</name>
                  <description>High drive. Output drive sink is 20 mA. This is needed for Fast Mode Plus I 2C. Refer to the appropriate specific device data sheet for details.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>I2CFILTER</name>
              <description>Configures I2C features for standard mode, fast mode, and Fast Mode Plus operation.</description>
              <bitOffset>10</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>ENABLED</name>
                  <description>Enabled. I2C 50 ns glitch filter enabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>DISABLED</name>
                  <description>Disabled. I2C 50 ns glitch filter disabled.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>PIO025</name>
          <description>Digital I/O control for port 0 pins PIO0_25</description>
          <addressOffset>0x64</addressOffset>
          <size>32</size>
          <access>read-write</access>
          <resetValue>0x1A0</resetValue>
          <resetMask>0x7E7</resetMask>
          <fields>
            <field>
              <name>FUNC</name>
              <description>Selects pin function.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>3</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>ALT0</name>
                  <description>Alternative connection 0.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT1</name>
                  <description>Alternative connection 1.</description>
                  <value>0x1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT2</name>
                  <description>Alternative connection 2.</description>
                  <value>0x2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT3</name>
                  <description>Alternative connection 3.</description>
                  <value>0x3</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT4</name>
                  <description>Alternative connection 4.</description>
                  <value>0x4</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT5</name>
                  <description>Alternative connection 5.</description>
                  <value>0x5</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT6</name>
                  <description>Alternative connection 6.</description>
                  <value>0x6</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT7</name>
                  <description>Alternative connection 7.</description>
                  <value>0x7</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>I2CSLEW</name>
              <description>Controls slew rate of I2C pin.</description>
              <bitOffset>5</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>I2C_MODE</name>
                  <description>I2C mode.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>GPIO_MODE</name>
                  <description>GPIO mode.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>INVERT</name>
              <description>Input polarity.</description>
              <bitOffset>6</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>DISABLED</name>
                  <description>Disabled. Input function is not inverted.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ENABLED</name>
                  <description>Enabled. Input is function inverted.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>DIGIMODE</name>
              <description>Select Analog/Digital mode.</description>
              <bitOffset>7</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>ANALOG</name>
                  <description>Analog mode.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>DIGITAL</name>
                  <description>Digital mode.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>FILTEROFF</name>
              <description>Controls input glitch filter.</description>
              <bitOffset>8</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>ENABLED</name>
                  <description>Filter enabled. Noise pulses below approximately 10 ns are filtered out.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>DISABLED</name>
                  <description>Filter disabled. No input filtering is done.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>I2CDRIVE</name>
              <description>Controls the current sink capability of the pin.</description>
              <bitOffset>9</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>LOW</name>
                  <description>Low drive. Output drive sink is 4 mA. This is sufficient for standard and fast mode I2C.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>HIGH</name>
                  <description>High drive. Output drive sink is 20 mA. This is needed for Fast Mode Plus I 2C. Refer to the appropriate specific device data sheet for details.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>I2CFILTER</name>
              <description>Configures I2C features for standard mode, fast mode, and Fast Mode Plus operation.</description>
              <bitOffset>10</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>ENABLED</name>
                  <description>Enabled. I2C 50 ns glitch filter enabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>DISABLED</name>
                  <description>Disabled. I2C 50 ns glitch filter disabled.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>PIO026</name>
          <description>Digital I/O control for port 0 pins PIO0_26</description>
          <addressOffset>0x68</addressOffset>
          <size>32</size>
          <access>read-write</access>
          <resetValue>0x1A0</resetValue>
          <resetMask>0x7E7</resetMask>
          <fields>
            <field>
              <name>FUNC</name>
              <description>Selects pin function.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>3</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>ALT0</name>
                  <description>Alternative connection 0.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT1</name>
                  <description>Alternative connection 1.</description>
                  <value>0x1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT2</name>
                  <description>Alternative connection 2.</description>
                  <value>0x2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT3</name>
                  <description>Alternative connection 3.</description>
                  <value>0x3</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT4</name>
                  <description>Alternative connection 4.</description>
                  <value>0x4</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT5</name>
                  <description>Alternative connection 5.</description>
                  <value>0x5</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT6</name>
                  <description>Alternative connection 6.</description>
                  <value>0x6</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT7</name>
                  <description>Alternative connection 7.</description>
                  <value>0x7</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>I2CSLEW</name>
              <description>Controls slew rate of I2C pin.</description>
              <bitOffset>5</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>I2C_MODE</name>
                  <description>I2C mode.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>GPIO_MODE</name>
                  <description>GPIO mode.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>INVERT</name>
              <description>Input polarity.</description>
              <bitOffset>6</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>DISABLED</name>
                  <description>Disabled. Input function is not inverted.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ENABLED</name>
                  <description>Enabled. Input is function inverted.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>DIGIMODE</name>
              <description>Select Analog/Digital mode.</description>
              <bitOffset>7</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>ANALOG</name>
                  <description>Analog mode.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>DIGITAL</name>
                  <description>Digital mode.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>FILTEROFF</name>
              <description>Controls input glitch filter.</description>
              <bitOffset>8</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>ENABLED</name>
                  <description>Filter enabled. Noise pulses below approximately 10 ns are filtered out.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>DISABLED</name>
                  <description>Filter disabled. No input filtering is done.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>I2CDRIVE</name>
              <description>Controls the current sink capability of the pin.</description>
              <bitOffset>9</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>LOW</name>
                  <description>Low drive. Output drive sink is 4 mA. This is sufficient for standard and fast mode I2C.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>HIGH</name>
                  <description>High drive. Output drive sink is 20 mA. This is needed for Fast Mode Plus I 2C. Refer to the appropriate specific device data sheet for details.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>I2CFILTER</name>
              <description>Configures I2C features for standard mode, fast mode, and Fast Mode Plus operation.</description>
              <bitOffset>10</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>ENABLED</name>
                  <description>Enabled. I2C 50 ns glitch filter enabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>DISABLED</name>
                  <description>Disabled. I2C 50 ns glitch filter disabled.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>PIO027</name>
          <description>Digital I/O control for port 0 pins PIO0_27</description>
          <addressOffset>0x6C</addressOffset>
          <size>32</size>
          <access>read-write</access>
          <resetValue>0x190</resetValue>
          <resetMask>0x7DF</resetMask>
          <fields>
            <field>
              <name>FUNC</name>
              <description>Selects pin function.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>3</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>ALT0</name>
                  <description>Alternative connection 0.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT1</name>
                  <description>Alternative connection 1.</description>
                  <value>0x1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT2</name>
                  <description>Alternative connection 2.</description>
                  <value>0x2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT3</name>
                  <description>Alternative connection 3.</description>
                  <value>0x3</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT4</name>
                  <description>Alternative connection 4.</description>
                  <value>0x4</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT5</name>
                  <description>Alternative connection 5.</description>
                  <value>0x5</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT6</name>
                  <description>Alternative connection 6.</description>
                  <value>0x6</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT7</name>
                  <description>Alternative connection 7.</description>
                  <value>0x7</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>MODE</name>
              <description>Selects function mode (on-chip pull-up/pull-down resistor control).</description>
              <bitOffset>3</bitOffset>
              <bitWidth>2</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>INACTIVE</name>
                  <description>Inactive. Inactive (no pull-down/pull-up resistor enabled).</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>PULL_DOWN</name>
                  <description>Pull-down. Pull-down resistor enabled.</description>
                  <value>0x1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>PULL_UP</name>
                  <description>Pull-up. Pull-up resistor enabled.</description>
                  <value>0x2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>REPEATER</name>
                  <description>Repeater. Repeater mode.</description>
                  <value>0x3</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>INVERT</name>
              <description>Input polarity.</description>
              <bitOffset>6</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>DISABLED</name>
                  <description>Disabled. Input function is not inverted.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ENABLED</name>
                  <description>Enabled. Input is function inverted.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>DIGIMODE</name>
              <description>Select Analog/Digital mode.</description>
              <bitOffset>7</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>ANALOG</name>
                  <description>Analog mode.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>DIGITAL</name>
                  <description>Digital mode.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>FILTEROFF</name>
              <description>Controls input glitch filter.</description>
              <bitOffset>8</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>ENABLED</name>
                  <description>Filter enabled. Noise pulses below approximately 10 ns are filtered out.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>DISABLED</name>
                  <description>Filter disabled. No input filtering is done.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>SLEW</name>
              <description>Driver slew rate.</description>
              <bitOffset>9</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>STANDARD</name>
                  <description>Standard mode, output slew rate control is enabled. More outputs can be switched simultaneously.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>FAST</name>
                  <description>Fast mode, slew rate control is disabled. Refer to the appropriate specific device data sheet for details.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>OD</name>
              <description>Controls open-drain mode.</description>
              <bitOffset>10</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>NORMAL</name>
                  <description>Normal. Normal push-pull output</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>OPEN_DRAIN</name>
                  <description>Open-drain. Simulated open-drain output (high drive disabled).</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>PIO028</name>
          <description>Digital I/O control for port 0 pins PIO0_28</description>
          <addressOffset>0x70</addressOffset>
          <size>32</size>
          <access>read-write</access>
          <resetValue>0x190</resetValue>
          <resetMask>0x7DF</resetMask>
          <fields>
            <field>
              <name>FUNC</name>
              <description>Selects pin function.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>3</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>ALT0</name>
                  <description>Alternative connection 0.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT1</name>
                  <description>Alternative connection 1.</description>
                  <value>0x1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT2</name>
                  <description>Alternative connection 2.</description>
                  <value>0x2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT3</name>
                  <description>Alternative connection 3.</description>
                  <value>0x3</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT4</name>
                  <description>Alternative connection 4.</description>
                  <value>0x4</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT5</name>
                  <description>Alternative connection 5.</description>
                  <value>0x5</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT6</name>
                  <description>Alternative connection 6.</description>
                  <value>0x6</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT7</name>
                  <description>Alternative connection 7.</description>
                  <value>0x7</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>MODE</name>
              <description>Selects function mode (on-chip pull-up/pull-down resistor control).</description>
              <bitOffset>3</bitOffset>
              <bitWidth>2</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>INACTIVE</name>
                  <description>Inactive. Inactive (no pull-down/pull-up resistor enabled).</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>PULL_DOWN</name>
                  <description>Pull-down. Pull-down resistor enabled.</description>
                  <value>0x1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>PULL_UP</name>
                  <description>Pull-up. Pull-up resistor enabled.</description>
                  <value>0x2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>REPEATER</name>
                  <description>Repeater. Repeater mode.</description>
                  <value>0x3</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>INVERT</name>
              <description>Input polarity.</description>
              <bitOffset>6</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>DISABLED</name>
                  <description>Disabled. Input function is not inverted.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ENABLED</name>
                  <description>Enabled. Input is function inverted.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>DIGIMODE</name>
              <description>Select Analog/Digital mode.</description>
              <bitOffset>7</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>ANALOG</name>
                  <description>Analog mode.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>DIGITAL</name>
                  <description>Digital mode.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>FILTEROFF</name>
              <description>Controls input glitch filter.</description>
              <bitOffset>8</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>ENABLED</name>
                  <description>Filter enabled. Noise pulses below approximately 10 ns are filtered out.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>DISABLED</name>
                  <description>Filter disabled. No input filtering is done.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>SLEW</name>
              <description>Driver slew rate.</description>
              <bitOffset>9</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>STANDARD</name>
                  <description>Standard mode, output slew rate control is enabled. More outputs can be switched simultaneously.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>FAST</name>
                  <description>Fast mode, slew rate control is disabled. Refer to the appropriate specific device data sheet for details.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>OD</name>
              <description>Controls open-drain mode.</description>
              <bitOffset>10</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>NORMAL</name>
                  <description>Normal. Normal push-pull output</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>OPEN_DRAIN</name>
                  <description>Open-drain. Simulated open-drain output (high drive disabled).</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>PIO029</name>
          <description>Digital I/O control for port 0 pins PIO0_29</description>
          <addressOffset>0x74</addressOffset>
          <size>32</size>
          <access>read-write</access>
          <resetValue>0x190</resetValue>
          <resetMask>0x5DF</resetMask>
          <fields>
            <field>
              <name>FUNC</name>
              <description>Selects pin function.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>3</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>ALT0</name>
                  <description>Alternative connection 0.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT1</name>
                  <description>Alternative connection 1.</description>
                  <value>0x1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT2</name>
                  <description>Alternative connection 2.</description>
                  <value>0x2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT3</name>
                  <description>Alternative connection 3.</description>
                  <value>0x3</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT4</name>
                  <description>Alternative connection 4.</description>
                  <value>0x4</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT5</name>
                  <description>Alternative connection 5.</description>
                  <value>0x5</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT6</name>
                  <description>Alternative connection 6.</description>
                  <value>0x6</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT7</name>
                  <description>Alternative connection 7.</description>
                  <value>0x7</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>MODE</name>
              <description>Selects function mode (on-chip pull-up/pull-down resistor control).</description>
              <bitOffset>3</bitOffset>
              <bitWidth>2</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>INACTIVE</name>
                  <description>Inactive. Inactive (no pull-down/pull-up resistor enabled).</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>PULL_DOWN</name>
                  <description>Pull-down. Pull-down resistor enabled.</description>
                  <value>0x1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>PULL_UP</name>
                  <description>Pull-up. Pull-up resistor enabled.</description>
                  <value>0x2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>REPEATER</name>
                  <description>Repeater. Repeater mode.</description>
                  <value>0x3</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>INVERT</name>
              <description>Input polarity.</description>
              <bitOffset>6</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>DISABLED</name>
                  <description>Disabled. Input function is not inverted.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ENABLED</name>
                  <description>Enabled. Input is function inverted.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>DIGIMODE</name>
              <description>Select Analog/Digital mode.</description>
              <bitOffset>7</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>ANALOG</name>
                  <description>Analog mode.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>DIGITAL</name>
                  <description>Digital mode.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>FILTEROFF</name>
              <description>Controls input glitch filter.</description>
              <bitOffset>8</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>ENABLED</name>
                  <description>Filter enabled. Noise pulses below approximately 10 ns are filtered out.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>DISABLED</name>
                  <description>Filter disabled. No input filtering is done.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>OD</name>
              <description>Controls open-drain mode.</description>
              <bitOffset>10</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>NORMAL</name>
                  <description>Normal. Normal push-pull output</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>OPEN_DRAIN</name>
                  <description>Open-drain. Simulated open-drain output (high drive disabled).</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>PIO030</name>
          <description>Digital I/O control for port 0 pins PIO0_30</description>
          <addressOffset>0x78</addressOffset>
          <size>32</size>
          <access>read-write</access>
          <resetValue>0x190</resetValue>
          <resetMask>0x5DF</resetMask>
          <fields>
            <field>
              <name>FUNC</name>
              <description>Selects pin function.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>3</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>ALT0</name>
                  <description>Alternative connection 0.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT1</name>
                  <description>Alternative connection 1.</description>
                  <value>0x1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT2</name>
                  <description>Alternative connection 2.</description>
                  <value>0x2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT3</name>
                  <description>Alternative connection 3.</description>
                  <value>0x3</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT4</name>
                  <description>Alternative connection 4.</description>
                  <value>0x4</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT5</name>
                  <description>Alternative connection 5.</description>
                  <value>0x5</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT6</name>
                  <description>Alternative connection 6.</description>
                  <value>0x6</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT7</name>
                  <description>Alternative connection 7.</description>
                  <value>0x7</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>MODE</name>
              <description>Selects function mode (on-chip pull-up/pull-down resistor control).</description>
              <bitOffset>3</bitOffset>
              <bitWidth>2</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>INACTIVE</name>
                  <description>Inactive. Inactive (no pull-down/pull-up resistor enabled).</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>PULL_DOWN</name>
                  <description>Pull-down. Pull-down resistor enabled.</description>
                  <value>0x1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>PULL_UP</name>
                  <description>Pull-up. Pull-up resistor enabled.</description>
                  <value>0x2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>REPEATER</name>
                  <description>Repeater. Repeater mode.</description>
                  <value>0x3</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>INVERT</name>
              <description>Input polarity.</description>
              <bitOffset>6</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>DISABLED</name>
                  <description>Disabled. Input function is not inverted.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ENABLED</name>
                  <description>Enabled. Input is function inverted.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>DIGIMODE</name>
              <description>Select Analog/Digital mode.</description>
              <bitOffset>7</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>ANALOG</name>
                  <description>Analog mode.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>DIGITAL</name>
                  <description>Digital mode.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>FILTEROFF</name>
              <description>Controls input glitch filter.</description>
              <bitOffset>8</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>ENABLED</name>
                  <description>Filter enabled. Noise pulses below approximately 10 ns are filtered out.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>DISABLED</name>
                  <description>Filter disabled. No input filtering is done.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>OD</name>
              <description>Controls open-drain mode.</description>
              <bitOffset>10</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>NORMAL</name>
                  <description>Normal. Normal push-pull output</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>OPEN_DRAIN</name>
                  <description>Open-drain. Simulated open-drain output (high drive disabled).</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>PIO031</name>
          <description>Digital I/O control for port 0 pins PIO0_31</description>
          <addressOffset>0x7C</addressOffset>
          <size>32</size>
          <access>read-write</access>
          <resetValue>0x190</resetValue>
          <resetMask>0x5DF</resetMask>
          <fields>
            <field>
              <name>FUNC</name>
              <description>Selects pin function.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>3</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>ALT0</name>
                  <description>Alternative connection 0.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT1</name>
                  <description>Alternative connection 1.</description>
                  <value>0x1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT2</name>
                  <description>Alternative connection 2.</description>
                  <value>0x2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT3</name>
                  <description>Alternative connection 3.</description>
                  <value>0x3</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT4</name>
                  <description>Alternative connection 4.</description>
                  <value>0x4</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT5</name>
                  <description>Alternative connection 5.</description>
                  <value>0x5</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT6</name>
                  <description>Alternative connection 6.</description>
                  <value>0x6</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT7</name>
                  <description>Alternative connection 7.</description>
                  <value>0x7</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>MODE</name>
              <description>Selects function mode (on-chip pull-up/pull-down resistor control).</description>
              <bitOffset>3</bitOffset>
              <bitWidth>2</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>INACTIVE</name>
                  <description>Inactive. Inactive (no pull-down/pull-up resistor enabled).</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>PULL_DOWN</name>
                  <description>Pull-down. Pull-down resistor enabled.</description>
                  <value>0x1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>PULL_UP</name>
                  <description>Pull-up. Pull-up resistor enabled.</description>
                  <value>0x2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>REPEATER</name>
                  <description>Repeater. Repeater mode.</description>
                  <value>0x3</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>INVERT</name>
              <description>Input polarity.</description>
              <bitOffset>6</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>DISABLED</name>
                  <description>Disabled. Input function is not inverted.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ENABLED</name>
                  <description>Enabled. Input is function inverted.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>DIGIMODE</name>
              <description>Select Analog/Digital mode.</description>
              <bitOffset>7</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>ANALOG</name>
                  <description>Analog mode.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>DIGITAL</name>
                  <description>Digital mode.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>FILTEROFF</name>
              <description>Controls input glitch filter.</description>
              <bitOffset>8</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>ENABLED</name>
                  <description>Filter enabled. Noise pulses below approximately 10 ns are filtered out.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>DISABLED</name>
                  <description>Filter disabled. No input filtering is done.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>OD</name>
              <description>Controls open-drain mode.</description>
              <bitOffset>10</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>NORMAL</name>
                  <description>Normal. Normal push-pull output</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>OPEN_DRAIN</name>
                  <description>Open-drain. Simulated open-drain output (high drive disabled).</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>PIO10</name>
          <description>Digital I/O control for port 1 pins PIO1_0</description>
          <addressOffset>0x80</addressOffset>
          <size>32</size>
          <access>read-write</access>
          <resetValue>0x190</resetValue>
          <resetMask>0x5DF</resetMask>
          <fields>
            <field>
              <name>FUNC</name>
              <description>Selects pin function.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>3</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>ALT0</name>
                  <description>Alternative connection 0.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT1</name>
                  <description>Alternative connection 1.</description>
                  <value>0x1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT2</name>
                  <description>Alternative connection 2.</description>
                  <value>0x2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT3</name>
                  <description>Alternative connection 3.</description>
                  <value>0x3</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT4</name>
                  <description>Alternative connection 4.</description>
                  <value>0x4</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT5</name>
                  <description>Alternative connection 5.</description>
                  <value>0x5</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT6</name>
                  <description>Alternative connection 6.</description>
                  <value>0x6</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT7</name>
                  <description>Alternative connection 7.</description>
                  <value>0x7</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>MODE</name>
              <description>Selects function mode (on-chip pull-up/pull-down resistor control).</description>
              <bitOffset>3</bitOffset>
              <bitWidth>2</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>INACTIVE</name>
                  <description>Inactive. Inactive (no pull-down/pull-up resistor enabled).</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>PULL_DOWN</name>
                  <description>Pull-down. Pull-down resistor enabled.</description>
                  <value>0x1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>PULL_UP</name>
                  <description>Pull-up. Pull-up resistor enabled.</description>
                  <value>0x2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>REPEATER</name>
                  <description>Repeater. Repeater mode.</description>
                  <value>0x3</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>INVERT</name>
              <description>Input polarity.</description>
              <bitOffset>6</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>DISABLED</name>
                  <description>Disabled. Input function is not inverted.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ENABLED</name>
                  <description>Enabled. Input is function inverted.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>DIGIMODE</name>
              <description>Select Analog/Digital mode.</description>
              <bitOffset>7</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>ANALOG</name>
                  <description>Analog mode.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>DIGITAL</name>
                  <description>Digital mode.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>FILTEROFF</name>
              <description>Controls input glitch filter.</description>
              <bitOffset>8</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>ENABLED</name>
                  <description>Filter enabled. Noise pulses below approximately 10 ns are filtered out.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>DISABLED</name>
                  <description>Filter disabled. No input filtering is done.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>OD</name>
              <description>Controls open-drain mode.</description>
              <bitOffset>10</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>NORMAL</name>
                  <description>Normal. Normal push-pull output</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>OPEN_DRAIN</name>
                  <description>Open-drain. Simulated open-drain output (high drive disabled).</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>PIO11</name>
          <description>Digital I/O control for port 1 pins PIO1_1</description>
          <addressOffset>0x84</addressOffset>
          <size>32</size>
          <access>read-write</access>
          <resetValue>0x190</resetValue>
          <resetMask>0x5DF</resetMask>
          <fields>
            <field>
              <name>FUNC</name>
              <description>Selects pin function.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>3</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>ALT0</name>
                  <description>Alternative connection 0.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT1</name>
                  <description>Alternative connection 1.</description>
                  <value>0x1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT2</name>
                  <description>Alternative connection 2.</description>
                  <value>0x2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT3</name>
                  <description>Alternative connection 3.</description>
                  <value>0x3</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT4</name>
                  <description>Alternative connection 4.</description>
                  <value>0x4</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT5</name>
                  <description>Alternative connection 5.</description>
                  <value>0x5</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT6</name>
                  <description>Alternative connection 6.</description>
                  <value>0x6</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT7</name>
                  <description>Alternative connection 7.</description>
                  <value>0x7</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>MODE</name>
              <description>Selects function mode (on-chip pull-up/pull-down resistor control).</description>
              <bitOffset>3</bitOffset>
              <bitWidth>2</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>INACTIVE</name>
                  <description>Inactive. Inactive (no pull-down/pull-up resistor enabled).</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>PULL_DOWN</name>
                  <description>Pull-down. Pull-down resistor enabled.</description>
                  <value>0x1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>PULL_UP</name>
                  <description>Pull-up. Pull-up resistor enabled.</description>
                  <value>0x2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>REPEATER</name>
                  <description>Repeater. Repeater mode.</description>
                  <value>0x3</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>INVERT</name>
              <description>Input polarity.</description>
              <bitOffset>6</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>DISABLED</name>
                  <description>Disabled. Input function is not inverted.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ENABLED</name>
                  <description>Enabled. Input is function inverted.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>DIGIMODE</name>
              <description>Select Analog/Digital mode.</description>
              <bitOffset>7</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>ANALOG</name>
                  <description>Analog mode.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>DIGITAL</name>
                  <description>Digital mode.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>FILTEROFF</name>
              <description>Controls input glitch filter.</description>
              <bitOffset>8</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>ENABLED</name>
                  <description>Filter enabled. Noise pulses below approximately 10 ns are filtered out.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>DISABLED</name>
                  <description>Filter disabled. No input filtering is done.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>OD</name>
              <description>Controls open-drain mode.</description>
              <bitOffset>10</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>NORMAL</name>
                  <description>Normal. Normal push-pull output</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>OPEN_DRAIN</name>
                  <description>Open-drain. Simulated open-drain output (high drive disabled).</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>PIO12</name>
          <description>Digital I/O control for port 1 pins PIO1_2</description>
          <addressOffset>0x88</addressOffset>
          <size>32</size>
          <access>read-write</access>
          <resetValue>0x190</resetValue>
          <resetMask>0x5DF</resetMask>
          <fields>
            <field>
              <name>FUNC</name>
              <description>Selects pin function.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>3</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>ALT0</name>
                  <description>Alternative connection 0.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT1</name>
                  <description>Alternative connection 1.</description>
                  <value>0x1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT2</name>
                  <description>Alternative connection 2.</description>
                  <value>0x2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT3</name>
                  <description>Alternative connection 3.</description>
                  <value>0x3</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT4</name>
                  <description>Alternative connection 4.</description>
                  <value>0x4</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT5</name>
                  <description>Alternative connection 5.</description>
                  <value>0x5</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT6</name>
                  <description>Alternative connection 6.</description>
                  <value>0x6</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT7</name>
                  <description>Alternative connection 7.</description>
                  <value>0x7</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>MODE</name>
              <description>Selects function mode (on-chip pull-up/pull-down resistor control).</description>
              <bitOffset>3</bitOffset>
              <bitWidth>2</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>INACTIVE</name>
                  <description>Inactive. Inactive (no pull-down/pull-up resistor enabled).</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>PULL_DOWN</name>
                  <description>Pull-down. Pull-down resistor enabled.</description>
                  <value>0x1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>PULL_UP</name>
                  <description>Pull-up. Pull-up resistor enabled.</description>
                  <value>0x2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>REPEATER</name>
                  <description>Repeater. Repeater mode.</description>
                  <value>0x3</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>INVERT</name>
              <description>Input polarity.</description>
              <bitOffset>6</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>DISABLED</name>
                  <description>Disabled. Input function is not inverted.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ENABLED</name>
                  <description>Enabled. Input is function inverted.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>DIGIMODE</name>
              <description>Select Analog/Digital mode.</description>
              <bitOffset>7</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>ANALOG</name>
                  <description>Analog mode.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>DIGITAL</name>
                  <description>Digital mode.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>FILTEROFF</name>
              <description>Controls input glitch filter.</description>
              <bitOffset>8</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>ENABLED</name>
                  <description>Filter enabled. Noise pulses below approximately 10 ns are filtered out.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>DISABLED</name>
                  <description>Filter disabled. No input filtering is done.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>OD</name>
              <description>Controls open-drain mode.</description>
              <bitOffset>10</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>NORMAL</name>
                  <description>Normal. Normal push-pull output</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>OPEN_DRAIN</name>
                  <description>Open-drain. Simulated open-drain output (high drive disabled).</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>PIO13</name>
          <description>Digital I/O control for port 1 pins PIO1_3</description>
          <addressOffset>0x8C</addressOffset>
          <size>32</size>
          <access>read-write</access>
          <resetValue>0x190</resetValue>
          <resetMask>0x5DF</resetMask>
          <fields>
            <field>
              <name>FUNC</name>
              <description>Selects pin function.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>3</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>ALT0</name>
                  <description>Alternative connection 0.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT1</name>
                  <description>Alternative connection 1.</description>
                  <value>0x1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT2</name>
                  <description>Alternative connection 2.</description>
                  <value>0x2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT3</name>
                  <description>Alternative connection 3.</description>
                  <value>0x3</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT4</name>
                  <description>Alternative connection 4.</description>
                  <value>0x4</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT5</name>
                  <description>Alternative connection 5.</description>
                  <value>0x5</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT6</name>
                  <description>Alternative connection 6.</description>
                  <value>0x6</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT7</name>
                  <description>Alternative connection 7.</description>
                  <value>0x7</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>MODE</name>
              <description>Selects function mode (on-chip pull-up/pull-down resistor control).</description>
              <bitOffset>3</bitOffset>
              <bitWidth>2</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>INACTIVE</name>
                  <description>Inactive. Inactive (no pull-down/pull-up resistor enabled).</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>PULL_DOWN</name>
                  <description>Pull-down. Pull-down resistor enabled.</description>
                  <value>0x1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>PULL_UP</name>
                  <description>Pull-up. Pull-up resistor enabled.</description>
                  <value>0x2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>REPEATER</name>
                  <description>Repeater. Repeater mode.</description>
                  <value>0x3</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>INVERT</name>
              <description>Input polarity.</description>
              <bitOffset>6</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>DISABLED</name>
                  <description>Disabled. Input function is not inverted.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ENABLED</name>
                  <description>Enabled. Input is function inverted.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>DIGIMODE</name>
              <description>Select Analog/Digital mode.</description>
              <bitOffset>7</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>ANALOG</name>
                  <description>Analog mode.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>DIGITAL</name>
                  <description>Digital mode.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>FILTEROFF</name>
              <description>Controls input glitch filter.</description>
              <bitOffset>8</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>ENABLED</name>
                  <description>Filter enabled. Noise pulses below approximately 10 ns are filtered out.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>DISABLED</name>
                  <description>Filter disabled. No input filtering is done.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>OD</name>
              <description>Controls open-drain mode.</description>
              <bitOffset>10</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>NORMAL</name>
                  <description>Normal. Normal push-pull output</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>OPEN_DRAIN</name>
                  <description>Open-drain. Simulated open-drain output (high drive disabled).</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>PIO14</name>
          <description>Digital I/O control for port 1 pins PIO1_4</description>
          <addressOffset>0x90</addressOffset>
          <size>32</size>
          <access>read-write</access>
          <resetValue>0x190</resetValue>
          <resetMask>0x5DF</resetMask>
          <fields>
            <field>
              <name>FUNC</name>
              <description>Selects pin function.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>3</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>ALT0</name>
                  <description>Alternative connection 0.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT1</name>
                  <description>Alternative connection 1.</description>
                  <value>0x1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT2</name>
                  <description>Alternative connection 2.</description>
                  <value>0x2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT3</name>
                  <description>Alternative connection 3.</description>
                  <value>0x3</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT4</name>
                  <description>Alternative connection 4.</description>
                  <value>0x4</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT5</name>
                  <description>Alternative connection 5.</description>
                  <value>0x5</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT6</name>
                  <description>Alternative connection 6.</description>
                  <value>0x6</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT7</name>
                  <description>Alternative connection 7.</description>
                  <value>0x7</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>MODE</name>
              <description>Selects function mode (on-chip pull-up/pull-down resistor control).</description>
              <bitOffset>3</bitOffset>
              <bitWidth>2</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>INACTIVE</name>
                  <description>Inactive. Inactive (no pull-down/pull-up resistor enabled).</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>PULL_DOWN</name>
                  <description>Pull-down. Pull-down resistor enabled.</description>
                  <value>0x1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>PULL_UP</name>
                  <description>Pull-up. Pull-up resistor enabled.</description>
                  <value>0x2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>REPEATER</name>
                  <description>Repeater. Repeater mode.</description>
                  <value>0x3</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>INVERT</name>
              <description>Input polarity.</description>
              <bitOffset>6</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>DISABLED</name>
                  <description>Disabled. Input function is not inverted.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ENABLED</name>
                  <description>Enabled. Input is function inverted.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>DIGIMODE</name>
              <description>Select Analog/Digital mode.</description>
              <bitOffset>7</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>ANALOG</name>
                  <description>Analog mode.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>DIGITAL</name>
                  <description>Digital mode.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>FILTEROFF</name>
              <description>Controls input glitch filter.</description>
              <bitOffset>8</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>ENABLED</name>
                  <description>Filter enabled. Noise pulses below approximately 10 ns are filtered out.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>DISABLED</name>
                  <description>Filter disabled. No input filtering is done.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>OD</name>
              <description>Controls open-drain mode.</description>
              <bitOffset>10</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>NORMAL</name>
                  <description>Normal. Normal push-pull output</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>OPEN_DRAIN</name>
                  <description>Open-drain. Simulated open-drain output (high drive disabled).</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>PIO15</name>
          <description>Digital I/O control for port 1 pins PIO1_5</description>
          <addressOffset>0x94</addressOffset>
          <size>32</size>
          <access>read-write</access>
          <resetValue>0x190</resetValue>
          <resetMask>0x5DF</resetMask>
          <fields>
            <field>
              <name>FUNC</name>
              <description>Selects pin function.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>3</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>ALT0</name>
                  <description>Alternative connection 0.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT1</name>
                  <description>Alternative connection 1.</description>
                  <value>0x1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT2</name>
                  <description>Alternative connection 2.</description>
                  <value>0x2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT3</name>
                  <description>Alternative connection 3.</description>
                  <value>0x3</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT4</name>
                  <description>Alternative connection 4.</description>
                  <value>0x4</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT5</name>
                  <description>Alternative connection 5.</description>
                  <value>0x5</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT6</name>
                  <description>Alternative connection 6.</description>
                  <value>0x6</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT7</name>
                  <description>Alternative connection 7.</description>
                  <value>0x7</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>MODE</name>
              <description>Selects function mode (on-chip pull-up/pull-down resistor control).</description>
              <bitOffset>3</bitOffset>
              <bitWidth>2</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>INACTIVE</name>
                  <description>Inactive. Inactive (no pull-down/pull-up resistor enabled).</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>PULL_DOWN</name>
                  <description>Pull-down. Pull-down resistor enabled.</description>
                  <value>0x1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>PULL_UP</name>
                  <description>Pull-up. Pull-up resistor enabled.</description>
                  <value>0x2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>REPEATER</name>
                  <description>Repeater. Repeater mode.</description>
                  <value>0x3</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>INVERT</name>
              <description>Input polarity.</description>
              <bitOffset>6</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>DISABLED</name>
                  <description>Disabled. Input function is not inverted.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ENABLED</name>
                  <description>Enabled. Input is function inverted.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>DIGIMODE</name>
              <description>Select Analog/Digital mode.</description>
              <bitOffset>7</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>ANALOG</name>
                  <description>Analog mode.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>DIGITAL</name>
                  <description>Digital mode.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>FILTEROFF</name>
              <description>Controls input glitch filter.</description>
              <bitOffset>8</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>ENABLED</name>
                  <description>Filter enabled. Noise pulses below approximately 10 ns are filtered out.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>DISABLED</name>
                  <description>Filter disabled. No input filtering is done.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>OD</name>
              <description>Controls open-drain mode.</description>
              <bitOffset>10</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>NORMAL</name>
                  <description>Normal. Normal push-pull output</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>OPEN_DRAIN</name>
                  <description>Open-drain. Simulated open-drain output (high drive disabled).</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>PIO16</name>
          <description>Digital I/O control for port 1 pins PIO1_6</description>
          <addressOffset>0x98</addressOffset>
          <size>32</size>
          <access>read-write</access>
          <resetValue>0x190</resetValue>
          <resetMask>0x5DF</resetMask>
          <fields>
            <field>
              <name>FUNC</name>
              <description>Selects pin function.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>3</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>ALT0</name>
                  <description>Alternative connection 0.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT1</name>
                  <description>Alternative connection 1.</description>
                  <value>0x1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT2</name>
                  <description>Alternative connection 2.</description>
                  <value>0x2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT3</name>
                  <description>Alternative connection 3.</description>
                  <value>0x3</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT4</name>
                  <description>Alternative connection 4.</description>
                  <value>0x4</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT5</name>
                  <description>Alternative connection 5.</description>
                  <value>0x5</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT6</name>
                  <description>Alternative connection 6.</description>
                  <value>0x6</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT7</name>
                  <description>Alternative connection 7.</description>
                  <value>0x7</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>MODE</name>
              <description>Selects function mode (on-chip pull-up/pull-down resistor control).</description>
              <bitOffset>3</bitOffset>
              <bitWidth>2</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>INACTIVE</name>
                  <description>Inactive. Inactive (no pull-down/pull-up resistor enabled).</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>PULL_DOWN</name>
                  <description>Pull-down. Pull-down resistor enabled.</description>
                  <value>0x1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>PULL_UP</name>
                  <description>Pull-up. Pull-up resistor enabled.</description>
                  <value>0x2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>REPEATER</name>
                  <description>Repeater. Repeater mode.</description>
                  <value>0x3</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>INVERT</name>
              <description>Input polarity.</description>
              <bitOffset>6</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>DISABLED</name>
                  <description>Disabled. Input function is not inverted.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ENABLED</name>
                  <description>Enabled. Input is function inverted.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>DIGIMODE</name>
              <description>Select Analog/Digital mode.</description>
              <bitOffset>7</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>ANALOG</name>
                  <description>Analog mode.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>DIGITAL</name>
                  <description>Digital mode.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>FILTEROFF</name>
              <description>Controls input glitch filter.</description>
              <bitOffset>8</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>ENABLED</name>
                  <description>Filter enabled. Noise pulses below approximately 10 ns are filtered out.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>DISABLED</name>
                  <description>Filter disabled. No input filtering is done.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>OD</name>
              <description>Controls open-drain mode.</description>
              <bitOffset>10</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>NORMAL</name>
                  <description>Normal. Normal push-pull output</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>OPEN_DRAIN</name>
                  <description>Open-drain. Simulated open-drain output (high drive disabled).</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>PIO17</name>
          <description>Digital I/O control for port 1 pins PIO1_7</description>
          <addressOffset>0x9C</addressOffset>
          <size>32</size>
          <access>read-write</access>
          <resetValue>0x190</resetValue>
          <resetMask>0x5DF</resetMask>
          <fields>
            <field>
              <name>FUNC</name>
              <description>Selects pin function.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>3</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>ALT0</name>
                  <description>Alternative connection 0.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT1</name>
                  <description>Alternative connection 1.</description>
                  <value>0x1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT2</name>
                  <description>Alternative connection 2.</description>
                  <value>0x2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT3</name>
                  <description>Alternative connection 3.</description>
                  <value>0x3</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT4</name>
                  <description>Alternative connection 4.</description>
                  <value>0x4</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT5</name>
                  <description>Alternative connection 5.</description>
                  <value>0x5</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT6</name>
                  <description>Alternative connection 6.</description>
                  <value>0x6</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT7</name>
                  <description>Alternative connection 7.</description>
                  <value>0x7</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>MODE</name>
              <description>Selects function mode (on-chip pull-up/pull-down resistor control).</description>
              <bitOffset>3</bitOffset>
              <bitWidth>2</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>INACTIVE</name>
                  <description>Inactive. Inactive (no pull-down/pull-up resistor enabled).</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>PULL_DOWN</name>
                  <description>Pull-down. Pull-down resistor enabled.</description>
                  <value>0x1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>PULL_UP</name>
                  <description>Pull-up. Pull-up resistor enabled.</description>
                  <value>0x2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>REPEATER</name>
                  <description>Repeater. Repeater mode.</description>
                  <value>0x3</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>INVERT</name>
              <description>Input polarity.</description>
              <bitOffset>6</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>DISABLED</name>
                  <description>Disabled. Input function is not inverted.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ENABLED</name>
                  <description>Enabled. Input is function inverted.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>DIGIMODE</name>
              <description>Select Analog/Digital mode.</description>
              <bitOffset>7</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>ANALOG</name>
                  <description>Analog mode.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>DIGITAL</name>
                  <description>Digital mode.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>FILTEROFF</name>
              <description>Controls input glitch filter.</description>
              <bitOffset>8</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>ENABLED</name>
                  <description>Filter enabled. Noise pulses below approximately 10 ns are filtered out.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>DISABLED</name>
                  <description>Filter disabled. No input filtering is done.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>OD</name>
              <description>Controls open-drain mode.</description>
              <bitOffset>10</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>NORMAL</name>
                  <description>Normal. Normal push-pull output</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>OPEN_DRAIN</name>
                  <description>Open-drain. Simulated open-drain output (high drive disabled).</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>PIO18</name>
          <description>Digital I/O control for port 1 pins PIO1_8</description>
          <addressOffset>0xA0</addressOffset>
          <size>32</size>
          <access>read-write</access>
          <resetValue>0x190</resetValue>
          <resetMask>0x5DF</resetMask>
          <fields>
            <field>
              <name>FUNC</name>
              <description>Selects pin function.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>3</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>ALT0</name>
                  <description>Alternative connection 0.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT1</name>
                  <description>Alternative connection 1.</description>
                  <value>0x1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT2</name>
                  <description>Alternative connection 2.</description>
                  <value>0x2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT3</name>
                  <description>Alternative connection 3.</description>
                  <value>0x3</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT4</name>
                  <description>Alternative connection 4.</description>
                  <value>0x4</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT5</name>
                  <description>Alternative connection 5.</description>
                  <value>0x5</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT6</name>
                  <description>Alternative connection 6.</description>
                  <value>0x6</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT7</name>
                  <description>Alternative connection 7.</description>
                  <value>0x7</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>MODE</name>
              <description>Selects function mode (on-chip pull-up/pull-down resistor control).</description>
              <bitOffset>3</bitOffset>
              <bitWidth>2</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>INACTIVE</name>
                  <description>Inactive. Inactive (no pull-down/pull-up resistor enabled).</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>PULL_DOWN</name>
                  <description>Pull-down. Pull-down resistor enabled.</description>
                  <value>0x1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>PULL_UP</name>
                  <description>Pull-up. Pull-up resistor enabled.</description>
                  <value>0x2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>REPEATER</name>
                  <description>Repeater. Repeater mode.</description>
                  <value>0x3</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>INVERT</name>
              <description>Input polarity.</description>
              <bitOffset>6</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>DISABLED</name>
                  <description>Disabled. Input function is not inverted.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ENABLED</name>
                  <description>Enabled. Input is function inverted.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>DIGIMODE</name>
              <description>Select Analog/Digital mode.</description>
              <bitOffset>7</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>ANALOG</name>
                  <description>Analog mode.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>DIGITAL</name>
                  <description>Digital mode.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>FILTEROFF</name>
              <description>Controls input glitch filter.</description>
              <bitOffset>8</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>ENABLED</name>
                  <description>Filter enabled. Noise pulses below approximately 10 ns are filtered out.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>DISABLED</name>
                  <description>Filter disabled. No input filtering is done.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>OD</name>
              <description>Controls open-drain mode.</description>
              <bitOffset>10</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>NORMAL</name>
                  <description>Normal. Normal push-pull output</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>OPEN_DRAIN</name>
                  <description>Open-drain. Simulated open-drain output (high drive disabled).</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>PIO19</name>
          <description>Digital I/O control for port 1 pins PIO1_9</description>
          <addressOffset>0xA4</addressOffset>
          <size>32</size>
          <access>read-write</access>
          <resetValue>0x190</resetValue>
          <resetMask>0x7DF</resetMask>
          <fields>
            <field>
              <name>FUNC</name>
              <description>Selects pin function.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>3</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>ALT0</name>
                  <description>Alternative connection 0.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT1</name>
                  <description>Alternative connection 1.</description>
                  <value>0x1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT2</name>
                  <description>Alternative connection 2.</description>
                  <value>0x2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT3</name>
                  <description>Alternative connection 3.</description>
                  <value>0x3</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT4</name>
                  <description>Alternative connection 4.</description>
                  <value>0x4</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT5</name>
                  <description>Alternative connection 5.</description>
                  <value>0x5</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT6</name>
                  <description>Alternative connection 6.</description>
                  <value>0x6</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT7</name>
                  <description>Alternative connection 7.</description>
                  <value>0x7</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>MODE</name>
              <description>Selects function mode (on-chip pull-up/pull-down resistor control).</description>
              <bitOffset>3</bitOffset>
              <bitWidth>2</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>INACTIVE</name>
                  <description>Inactive. Inactive (no pull-down/pull-up resistor enabled).</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>PULL_DOWN</name>
                  <description>Pull-down. Pull-down resistor enabled.</description>
                  <value>0x1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>PULL_UP</name>
                  <description>Pull-up. Pull-up resistor enabled.</description>
                  <value>0x2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>REPEATER</name>
                  <description>Repeater. Repeater mode.</description>
                  <value>0x3</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>INVERT</name>
              <description>Input polarity.</description>
              <bitOffset>6</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>DISABLED</name>
                  <description>Disabled. Input function is not inverted.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ENABLED</name>
                  <description>Enabled. Input is function inverted.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>DIGIMODE</name>
              <description>Select Analog/Digital mode.</description>
              <bitOffset>7</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>ANALOG</name>
                  <description>Analog mode.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>DIGITAL</name>
                  <description>Digital mode.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>FILTEROFF</name>
              <description>Controls input glitch filter.</description>
              <bitOffset>8</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>ENABLED</name>
                  <description>Filter enabled. Noise pulses below approximately 10 ns are filtered out.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>DISABLED</name>
                  <description>Filter disabled. No input filtering is done.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>SLEW</name>
              <description>Driver slew rate.</description>
              <bitOffset>9</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>STANDARD</name>
                  <description>Standard mode, output slew rate control is enabled. More outputs can be switched simultaneously.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>FAST</name>
                  <description>Fast mode, slew rate control is disabled. Refer to the appropriate specific device data sheet for details.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>OD</name>
              <description>Controls open-drain mode.</description>
              <bitOffset>10</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>NORMAL</name>
                  <description>Normal. Normal push-pull output</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>OPEN_DRAIN</name>
                  <description>Open-drain. Simulated open-drain output (high drive disabled).</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>PIO110</name>
          <description>Digital I/O control for port 1 pins PIO1_10</description>
          <addressOffset>0xA8</addressOffset>
          <size>32</size>
          <access>read-write</access>
          <resetValue>0x190</resetValue>
          <resetMask>0x7DF</resetMask>
          <fields>
            <field>
              <name>FUNC</name>
              <description>Selects pin function.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>3</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>ALT0</name>
                  <description>Alternative connection 0.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT1</name>
                  <description>Alternative connection 1.</description>
                  <value>0x1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT2</name>
                  <description>Alternative connection 2.</description>
                  <value>0x2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT3</name>
                  <description>Alternative connection 3.</description>
                  <value>0x3</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT4</name>
                  <description>Alternative connection 4.</description>
                  <value>0x4</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT5</name>
                  <description>Alternative connection 5.</description>
                  <value>0x5</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT6</name>
                  <description>Alternative connection 6.</description>
                  <value>0x6</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT7</name>
                  <description>Alternative connection 7.</description>
                  <value>0x7</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>MODE</name>
              <description>Selects function mode (on-chip pull-up/pull-down resistor control).</description>
              <bitOffset>3</bitOffset>
              <bitWidth>2</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>INACTIVE</name>
                  <description>Inactive. Inactive (no pull-down/pull-up resistor enabled).</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>PULL_DOWN</name>
                  <description>Pull-down. Pull-down resistor enabled.</description>
                  <value>0x1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>PULL_UP</name>
                  <description>Pull-up. Pull-up resistor enabled.</description>
                  <value>0x2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>REPEATER</name>
                  <description>Repeater. Repeater mode.</description>
                  <value>0x3</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>INVERT</name>
              <description>Input polarity.</description>
              <bitOffset>6</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>DISABLED</name>
                  <description>Disabled. Input function is not inverted.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ENABLED</name>
                  <description>Enabled. Input is function inverted.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>DIGIMODE</name>
              <description>Select Analog/Digital mode.</description>
              <bitOffset>7</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>ANALOG</name>
                  <description>Analog mode.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>DIGITAL</name>
                  <description>Digital mode.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>FILTEROFF</name>
              <description>Controls input glitch filter.</description>
              <bitOffset>8</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>ENABLED</name>
                  <description>Filter enabled. Noise pulses below approximately 10 ns are filtered out.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>DISABLED</name>
                  <description>Filter disabled. No input filtering is done.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>SLEW</name>
              <description>Driver slew rate.</description>
              <bitOffset>9</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>STANDARD</name>
                  <description>Standard mode, output slew rate control is enabled. More outputs can be switched simultaneously.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>FAST</name>
                  <description>Fast mode, slew rate control is disabled. Refer to the appropriate specific device data sheet for details.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>OD</name>
              <description>Controls open-drain mode.</description>
              <bitOffset>10</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>NORMAL</name>
                  <description>Normal. Normal push-pull output</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>OPEN_DRAIN</name>
                  <description>Open-drain. Simulated open-drain output (high drive disabled).</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>PIO111</name>
          <description>Digital I/O control for port 1 pins PIO1_11</description>
          <addressOffset>0xAC</addressOffset>
          <size>32</size>
          <access>read-write</access>
          <resetValue>0x190</resetValue>
          <resetMask>0x7DF</resetMask>
          <fields>
            <field>
              <name>FUNC</name>
              <description>Selects pin function.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>3</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>ALT0</name>
                  <description>Alternative connection 0.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT1</name>
                  <description>Alternative connection 1.</description>
                  <value>0x1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT2</name>
                  <description>Alternative connection 2.</description>
                  <value>0x2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT3</name>
                  <description>Alternative connection 3.</description>
                  <value>0x3</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT4</name>
                  <description>Alternative connection 4.</description>
                  <value>0x4</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT5</name>
                  <description>Alternative connection 5.</description>
                  <value>0x5</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT6</name>
                  <description>Alternative connection 6.</description>
                  <value>0x6</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT7</name>
                  <description>Alternative connection 7.</description>
                  <value>0x7</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>MODE</name>
              <description>Selects function mode (on-chip pull-up/pull-down resistor control).</description>
              <bitOffset>3</bitOffset>
              <bitWidth>2</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>INACTIVE</name>
                  <description>Inactive. Inactive (no pull-down/pull-up resistor enabled).</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>PULL_DOWN</name>
                  <description>Pull-down. Pull-down resistor enabled.</description>
                  <value>0x1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>PULL_UP</name>
                  <description>Pull-up. Pull-up resistor enabled.</description>
                  <value>0x2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>REPEATER</name>
                  <description>Repeater. Repeater mode.</description>
                  <value>0x3</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>INVERT</name>
              <description>Input polarity.</description>
              <bitOffset>6</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>DISABLED</name>
                  <description>Disabled. Input function is not inverted.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ENABLED</name>
                  <description>Enabled. Input is function inverted.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>DIGIMODE</name>
              <description>Select Analog/Digital mode.</description>
              <bitOffset>7</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>ANALOG</name>
                  <description>Analog mode.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>DIGITAL</name>
                  <description>Digital mode.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>FILTEROFF</name>
              <description>Controls input glitch filter.</description>
              <bitOffset>8</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>ENABLED</name>
                  <description>Filter enabled. Noise pulses below approximately 10 ns are filtered out.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>DISABLED</name>
                  <description>Filter disabled. No input filtering is done.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>SLEW</name>
              <description>Driver slew rate.</description>
              <bitOffset>9</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>STANDARD</name>
                  <description>Standard mode, output slew rate control is enabled. More outputs can be switched simultaneously.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>FAST</name>
                  <description>Fast mode, slew rate control is disabled. Refer to the appropriate specific device data sheet for details.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>OD</name>
              <description>Controls open-drain mode.</description>
              <bitOffset>10</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>NORMAL</name>
                  <description>Normal. Normal push-pull output</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>OPEN_DRAIN</name>
                  <description>Open-drain. Simulated open-drain output (high drive disabled).</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>PIO112</name>
          <description>Digital I/O control for port 1 pins PIO1_12</description>
          <addressOffset>0xB0</addressOffset>
          <size>32</size>
          <access>read-write</access>
          <resetValue>0x190</resetValue>
          <resetMask>0x7DF</resetMask>
          <fields>
            <field>
              <name>FUNC</name>
              <description>Selects pin function.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>3</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>ALT0</name>
                  <description>Alternative connection 0.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT1</name>
                  <description>Alternative connection 1.</description>
                  <value>0x1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT2</name>
                  <description>Alternative connection 2.</description>
                  <value>0x2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT3</name>
                  <description>Alternative connection 3.</description>
                  <value>0x3</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT4</name>
                  <description>Alternative connection 4.</description>
                  <value>0x4</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT5</name>
                  <description>Alternative connection 5.</description>
                  <value>0x5</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT6</name>
                  <description>Alternative connection 6.</description>
                  <value>0x6</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT7</name>
                  <description>Alternative connection 7.</description>
                  <value>0x7</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>MODE</name>
              <description>Selects function mode (on-chip pull-up/pull-down resistor control).</description>
              <bitOffset>3</bitOffset>
              <bitWidth>2</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>INACTIVE</name>
                  <description>Inactive. Inactive (no pull-down/pull-up resistor enabled).</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>PULL_DOWN</name>
                  <description>Pull-down. Pull-down resistor enabled.</description>
                  <value>0x1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>PULL_UP</name>
                  <description>Pull-up. Pull-up resistor enabled.</description>
                  <value>0x2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>REPEATER</name>
                  <description>Repeater. Repeater mode.</description>
                  <value>0x3</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>INVERT</name>
              <description>Input polarity.</description>
              <bitOffset>6</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>DISABLED</name>
                  <description>Disabled. Input function is not inverted.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ENABLED</name>
                  <description>Enabled. Input is function inverted.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>DIGIMODE</name>
              <description>Select Analog/Digital mode.</description>
              <bitOffset>7</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>ANALOG</name>
                  <description>Analog mode.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>DIGITAL</name>
                  <description>Digital mode.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>FILTEROFF</name>
              <description>Controls input glitch filter.</description>
              <bitOffset>8</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>ENABLED</name>
                  <description>Filter enabled. Noise pulses below approximately 10 ns are filtered out.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>DISABLED</name>
                  <description>Filter disabled. No input filtering is done.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>SLEW</name>
              <description>Driver slew rate.</description>
              <bitOffset>9</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>STANDARD</name>
                  <description>Standard mode, output slew rate control is enabled. More outputs can be switched simultaneously.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>FAST</name>
                  <description>Fast mode, slew rate control is disabled. Refer to the appropriate specific device data sheet for details.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>OD</name>
              <description>Controls open-drain mode.</description>
              <bitOffset>10</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>NORMAL</name>
                  <description>Normal. Normal push-pull output</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>OPEN_DRAIN</name>
                  <description>Open-drain. Simulated open-drain output (high drive disabled).</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>PIO113</name>
          <description>Digital I/O control for port 1 pins PIO1_13</description>
          <addressOffset>0xB4</addressOffset>
          <size>32</size>
          <access>read-write</access>
          <resetValue>0x190</resetValue>
          <resetMask>0x7DF</resetMask>
          <fields>
            <field>
              <name>FUNC</name>
              <description>Selects pin function.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>3</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>ALT0</name>
                  <description>Alternative connection 0.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT1</name>
                  <description>Alternative connection 1.</description>
                  <value>0x1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT2</name>
                  <description>Alternative connection 2.</description>
                  <value>0x2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT3</name>
                  <description>Alternative connection 3.</description>
                  <value>0x3</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT4</name>
                  <description>Alternative connection 4.</description>
                  <value>0x4</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT5</name>
                  <description>Alternative connection 5.</description>
                  <value>0x5</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT6</name>
                  <description>Alternative connection 6.</description>
                  <value>0x6</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT7</name>
                  <description>Alternative connection 7.</description>
                  <value>0x7</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>MODE</name>
              <description>Selects function mode (on-chip pull-up/pull-down resistor control).</description>
              <bitOffset>3</bitOffset>
              <bitWidth>2</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>INACTIVE</name>
                  <description>Inactive. Inactive (no pull-down/pull-up resistor enabled).</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>PULL_DOWN</name>
                  <description>Pull-down. Pull-down resistor enabled.</description>
                  <value>0x1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>PULL_UP</name>
                  <description>Pull-up. Pull-up resistor enabled.</description>
                  <value>0x2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>REPEATER</name>
                  <description>Repeater. Repeater mode.</description>
                  <value>0x3</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>INVERT</name>
              <description>Input polarity.</description>
              <bitOffset>6</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>DISABLED</name>
                  <description>Disabled. Input function is not inverted.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ENABLED</name>
                  <description>Enabled. Input is function inverted.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>DIGIMODE</name>
              <description>Select Analog/Digital mode.</description>
              <bitOffset>7</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>ANALOG</name>
                  <description>Analog mode.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>DIGITAL</name>
                  <description>Digital mode.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>FILTEROFF</name>
              <description>Controls input glitch filter.</description>
              <bitOffset>8</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>ENABLED</name>
                  <description>Filter enabled. Noise pulses below approximately 10 ns are filtered out.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>DISABLED</name>
                  <description>Filter disabled. No input filtering is done.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>SLEW</name>
              <description>Driver slew rate.</description>
              <bitOffset>9</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>STANDARD</name>
                  <description>Standard mode, output slew rate control is enabled. More outputs can be switched simultaneously.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>FAST</name>
                  <description>Fast mode, slew rate control is disabled. Refer to the appropriate specific device data sheet for details.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>OD</name>
              <description>Controls open-drain mode.</description>
              <bitOffset>10</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>NORMAL</name>
                  <description>Normal. Normal push-pull output</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>OPEN_DRAIN</name>
                  <description>Open-drain. Simulated open-drain output (high drive disabled).</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>PIO114</name>
          <description>Digital I/O control for port 1 pins PIO1_14</description>
          <addressOffset>0xB8</addressOffset>
          <size>32</size>
          <access>read-write</access>
          <resetValue>0x190</resetValue>
          <resetMask>0x7DF</resetMask>
          <fields>
            <field>
              <name>FUNC</name>
              <description>Selects pin function.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>3</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>ALT0</name>
                  <description>Alternative connection 0.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT1</name>
                  <description>Alternative connection 1.</description>
                  <value>0x1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT2</name>
                  <description>Alternative connection 2.</description>
                  <value>0x2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT3</name>
                  <description>Alternative connection 3.</description>
                  <value>0x3</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT4</name>
                  <description>Alternative connection 4.</description>
                  <value>0x4</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT5</name>
                  <description>Alternative connection 5.</description>
                  <value>0x5</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT6</name>
                  <description>Alternative connection 6.</description>
                  <value>0x6</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT7</name>
                  <description>Alternative connection 7.</description>
                  <value>0x7</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>MODE</name>
              <description>Selects function mode (on-chip pull-up/pull-down resistor control).</description>
              <bitOffset>3</bitOffset>
              <bitWidth>2</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>INACTIVE</name>
                  <description>Inactive. Inactive (no pull-down/pull-up resistor enabled).</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>PULL_DOWN</name>
                  <description>Pull-down. Pull-down resistor enabled.</description>
                  <value>0x1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>PULL_UP</name>
                  <description>Pull-up. Pull-up resistor enabled.</description>
                  <value>0x2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>REPEATER</name>
                  <description>Repeater. Repeater mode.</description>
                  <value>0x3</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>INVERT</name>
              <description>Input polarity.</description>
              <bitOffset>6</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>DISABLED</name>
                  <description>Disabled. Input function is not inverted.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ENABLED</name>
                  <description>Enabled. Input is function inverted.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>DIGIMODE</name>
              <description>Select Analog/Digital mode.</description>
              <bitOffset>7</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>ANALOG</name>
                  <description>Analog mode.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>DIGITAL</name>
                  <description>Digital mode.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>FILTEROFF</name>
              <description>Controls input glitch filter.</description>
              <bitOffset>8</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>ENABLED</name>
                  <description>Filter enabled. Noise pulses below approximately 10 ns are filtered out.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>DISABLED</name>
                  <description>Filter disabled. No input filtering is done.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>SLEW</name>
              <description>Driver slew rate.</description>
              <bitOffset>9</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>STANDARD</name>
                  <description>Standard mode, output slew rate control is enabled. More outputs can be switched simultaneously.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>FAST</name>
                  <description>Fast mode, slew rate control is disabled. Refer to the appropriate specific device data sheet for details.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>OD</name>
              <description>Controls open-drain mode.</description>
              <bitOffset>10</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>NORMAL</name>
                  <description>Normal. Normal push-pull output</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>OPEN_DRAIN</name>
                  <description>Open-drain. Simulated open-drain output (high drive disabled).</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>PIO115</name>
          <description>Digital I/O control for port 1 pins PIO1_15</description>
          <addressOffset>0xBC</addressOffset>
          <size>32</size>
          <access>read-write</access>
          <resetValue>0x190</resetValue>
          <resetMask>0x7DF</resetMask>
          <fields>
            <field>
              <name>FUNC</name>
              <description>Selects pin function.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>3</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>ALT0</name>
                  <description>Alternative connection 0.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT1</name>
                  <description>Alternative connection 1.</description>
                  <value>0x1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT2</name>
                  <description>Alternative connection 2.</description>
                  <value>0x2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT3</name>
                  <description>Alternative connection 3.</description>
                  <value>0x3</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT4</name>
                  <description>Alternative connection 4.</description>
                  <value>0x4</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT5</name>
                  <description>Alternative connection 5.</description>
                  <value>0x5</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT6</name>
                  <description>Alternative connection 6.</description>
                  <value>0x6</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT7</name>
                  <description>Alternative connection 7.</description>
                  <value>0x7</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>MODE</name>
              <description>Selects function mode (on-chip pull-up/pull-down resistor control).</description>
              <bitOffset>3</bitOffset>
              <bitWidth>2</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>INACTIVE</name>
                  <description>Inactive. Inactive (no pull-down/pull-up resistor enabled).</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>PULL_DOWN</name>
                  <description>Pull-down. Pull-down resistor enabled.</description>
                  <value>0x1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>PULL_UP</name>
                  <description>Pull-up. Pull-up resistor enabled.</description>
                  <value>0x2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>REPEATER</name>
                  <description>Repeater. Repeater mode.</description>
                  <value>0x3</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>INVERT</name>
              <description>Input polarity.</description>
              <bitOffset>6</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>DISABLED</name>
                  <description>Disabled. Input function is not inverted.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ENABLED</name>
                  <description>Enabled. Input is function inverted.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>DIGIMODE</name>
              <description>Select Analog/Digital mode.</description>
              <bitOffset>7</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>ANALOG</name>
                  <description>Analog mode.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>DIGITAL</name>
                  <description>Digital mode.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>FILTEROFF</name>
              <description>Controls input glitch filter.</description>
              <bitOffset>8</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>ENABLED</name>
                  <description>Filter enabled. Noise pulses below approximately 10 ns are filtered out.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>DISABLED</name>
                  <description>Filter disabled. No input filtering is done.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>SLEW</name>
              <description>Driver slew rate.</description>
              <bitOffset>9</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>STANDARD</name>
                  <description>Standard mode, output slew rate control is enabled. More outputs can be switched simultaneously.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>FAST</name>
                  <description>Fast mode, slew rate control is disabled. Refer to the appropriate specific device data sheet for details.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>OD</name>
              <description>Controls open-drain mode.</description>
              <bitOffset>10</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>NORMAL</name>
                  <description>Normal. Normal push-pull output</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>OPEN_DRAIN</name>
                  <description>Open-drain. Simulated open-drain output (high drive disabled).</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>PIO116</name>
          <description>Digital I/O control for port 1 pins PIO1_16</description>
          <addressOffset>0xC0</addressOffset>
          <size>32</size>
          <access>read-write</access>
          <resetValue>0x190</resetValue>
          <resetMask>0x7DF</resetMask>
          <fields>
            <field>
              <name>FUNC</name>
              <description>Selects pin function.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>3</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>ALT0</name>
                  <description>Alternative connection 0.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT1</name>
                  <description>Alternative connection 1.</description>
                  <value>0x1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT2</name>
                  <description>Alternative connection 2.</description>
                  <value>0x2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT3</name>
                  <description>Alternative connection 3.</description>
                  <value>0x3</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT4</name>
                  <description>Alternative connection 4.</description>
                  <value>0x4</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT5</name>
                  <description>Alternative connection 5.</description>
                  <value>0x5</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT6</name>
                  <description>Alternative connection 6.</description>
                  <value>0x6</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT7</name>
                  <description>Alternative connection 7.</description>
                  <value>0x7</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>MODE</name>
              <description>Selects function mode (on-chip pull-up/pull-down resistor control).</description>
              <bitOffset>3</bitOffset>
              <bitWidth>2</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>INACTIVE</name>
                  <description>Inactive. Inactive (no pull-down/pull-up resistor enabled).</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>PULL_DOWN</name>
                  <description>Pull-down. Pull-down resistor enabled.</description>
                  <value>0x1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>PULL_UP</name>
                  <description>Pull-up. Pull-up resistor enabled.</description>
                  <value>0x2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>REPEATER</name>
                  <description>Repeater. Repeater mode.</description>
                  <value>0x3</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>INVERT</name>
              <description>Input polarity.</description>
              <bitOffset>6</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>DISABLED</name>
                  <description>Disabled. Input function is not inverted.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ENABLED</name>
                  <description>Enabled. Input is function inverted.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>DIGIMODE</name>
              <description>Select Analog/Digital mode.</description>
              <bitOffset>7</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>ANALOG</name>
                  <description>Analog mode.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>DIGITAL</name>
                  <description>Digital mode.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>FILTEROFF</name>
              <description>Controls input glitch filter.</description>
              <bitOffset>8</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>ENABLED</name>
                  <description>Filter enabled. Noise pulses below approximately 10 ns are filtered out.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>DISABLED</name>
                  <description>Filter disabled. No input filtering is done.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>SLEW</name>
              <description>Driver slew rate.</description>
              <bitOffset>9</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>STANDARD</name>
                  <description>Standard mode, output slew rate control is enabled. More outputs can be switched simultaneously.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>FAST</name>
                  <description>Fast mode, slew rate control is disabled. Refer to the appropriate specific device data sheet for details.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>OD</name>
              <description>Controls open-drain mode.</description>
              <bitOffset>10</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>NORMAL</name>
                  <description>Normal. Normal push-pull output</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>OPEN_DRAIN</name>
                  <description>Open-drain. Simulated open-drain output (high drive disabled).</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>PIO117</name>
          <description>Digital I/O control for port 1 pins PIO1_17</description>
          <addressOffset>0xC4</addressOffset>
          <size>32</size>
          <access>read-write</access>
          <resetValue>0x190</resetValue>
          <resetMask>0x7DF</resetMask>
          <fields>
            <field>
              <name>FUNC</name>
              <description>Selects pin function.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>3</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>ALT0</name>
                  <description>Alternative connection 0.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT1</name>
                  <description>Alternative connection 1.</description>
                  <value>0x1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT2</name>
                  <description>Alternative connection 2.</description>
                  <value>0x2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT3</name>
                  <description>Alternative connection 3.</description>
                  <value>0x3</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT4</name>
                  <description>Alternative connection 4.</description>
                  <value>0x4</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT5</name>
                  <description>Alternative connection 5.</description>
                  <value>0x5</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT6</name>
                  <description>Alternative connection 6.</description>
                  <value>0x6</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT7</name>
                  <description>Alternative connection 7.</description>
                  <value>0x7</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>MODE</name>
              <description>Selects function mode (on-chip pull-up/pull-down resistor control).</description>
              <bitOffset>3</bitOffset>
              <bitWidth>2</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>INACTIVE</name>
                  <description>Inactive. Inactive (no pull-down/pull-up resistor enabled).</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>PULL_DOWN</name>
                  <description>Pull-down. Pull-down resistor enabled.</description>
                  <value>0x1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>PULL_UP</name>
                  <description>Pull-up. Pull-up resistor enabled.</description>
                  <value>0x2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>REPEATER</name>
                  <description>Repeater. Repeater mode.</description>
                  <value>0x3</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>INVERT</name>
              <description>Input polarity.</description>
              <bitOffset>6</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>DISABLED</name>
                  <description>Disabled. Input function is not inverted.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ENABLED</name>
                  <description>Enabled. Input is function inverted.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>DIGIMODE</name>
              <description>Select Analog/Digital mode.</description>
              <bitOffset>7</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>ANALOG</name>
                  <description>Analog mode.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>DIGITAL</name>
                  <description>Digital mode.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>FILTEROFF</name>
              <description>Controls input glitch filter.</description>
              <bitOffset>8</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>ENABLED</name>
                  <description>Filter enabled. Noise pulses below approximately 10 ns are filtered out.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>DISABLED</name>
                  <description>Filter disabled. No input filtering is done.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>SLEW</name>
              <description>Driver slew rate.</description>
              <bitOffset>9</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>STANDARD</name>
                  <description>Standard mode, output slew rate control is enabled. More outputs can be switched simultaneously.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>FAST</name>
                  <description>Fast mode, slew rate control is disabled. Refer to the appropriate specific device data sheet for details.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>OD</name>
              <description>Controls open-drain mode.</description>
              <bitOffset>10</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>NORMAL</name>
                  <description>Normal. Normal push-pull output</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>OPEN_DRAIN</name>
                  <description>Open-drain. Simulated open-drain output (high drive disabled).</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>PIO118</name>
          <description>Digital I/O control for port 1 pins PIO1_18</description>
          <addressOffset>0xC8</addressOffset>
          <size>32</size>
          <access>read-write</access>
          <resetValue>0x190</resetValue>
          <resetMask>0x7DF</resetMask>
          <fields>
            <field>
              <name>FUNC</name>
              <description>Selects pin function.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>3</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>ALT0</name>
                  <description>Alternative connection 0.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT1</name>
                  <description>Alternative connection 1.</description>
                  <value>0x1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT2</name>
                  <description>Alternative connection 2.</description>
                  <value>0x2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT3</name>
                  <description>Alternative connection 3.</description>
                  <value>0x3</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT4</name>
                  <description>Alternative connection 4.</description>
                  <value>0x4</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT5</name>
                  <description>Alternative connection 5.</description>
                  <value>0x5</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT6</name>
                  <description>Alternative connection 6.</description>
                  <value>0x6</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT7</name>
                  <description>Alternative connection 7.</description>
                  <value>0x7</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>MODE</name>
              <description>Selects function mode (on-chip pull-up/pull-down resistor control).</description>
              <bitOffset>3</bitOffset>
              <bitWidth>2</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>INACTIVE</name>
                  <description>Inactive. Inactive (no pull-down/pull-up resistor enabled).</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>PULL_DOWN</name>
                  <description>Pull-down. Pull-down resistor enabled.</description>
                  <value>0x1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>PULL_UP</name>
                  <description>Pull-up. Pull-up resistor enabled.</description>
                  <value>0x2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>REPEATER</name>
                  <description>Repeater. Repeater mode.</description>
                  <value>0x3</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>INVERT</name>
              <description>Input polarity.</description>
              <bitOffset>6</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>DISABLED</name>
                  <description>Disabled. Input function is not inverted.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ENABLED</name>
                  <description>Enabled. Input is function inverted.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>DIGIMODE</name>
              <description>Select Analog/Digital mode.</description>
              <bitOffset>7</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>ANALOG</name>
                  <description>Analog mode.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>DIGITAL</name>
                  <description>Digital mode.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>FILTEROFF</name>
              <description>Controls input glitch filter.</description>
              <bitOffset>8</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>ENABLED</name>
                  <description>Filter enabled. Noise pulses below approximately 10 ns are filtered out.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>DISABLED</name>
                  <description>Filter disabled. No input filtering is done.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>SLEW</name>
              <description>Driver slew rate.</description>
              <bitOffset>9</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>STANDARD</name>
                  <description>Standard mode, output slew rate control is enabled. More outputs can be switched simultaneously.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>FAST</name>
                  <description>Fast mode, slew rate control is disabled. Refer to the appropriate specific device data sheet for details.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>OD</name>
              <description>Controls open-drain mode.</description>
              <bitOffset>10</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>NORMAL</name>
                  <description>Normal. Normal push-pull output</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>OPEN_DRAIN</name>
                  <description>Open-drain. Simulated open-drain output (high drive disabled).</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>PIO119</name>
          <description>Digital I/O control for port 1 pins PIO1_19</description>
          <addressOffset>0xCC</addressOffset>
          <size>32</size>
          <access>read-write</access>
          <resetValue>0x190</resetValue>
          <resetMask>0x7DF</resetMask>
          <fields>
            <field>
              <name>FUNC</name>
              <description>Selects pin function.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>3</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>ALT0</name>
                  <description>Alternative connection 0.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT1</name>
                  <description>Alternative connection 1.</description>
                  <value>0x1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT2</name>
                  <description>Alternative connection 2.</description>
                  <value>0x2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT3</name>
                  <description>Alternative connection 3.</description>
                  <value>0x3</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT4</name>
                  <description>Alternative connection 4.</description>
                  <value>0x4</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT5</name>
                  <description>Alternative connection 5.</description>
                  <value>0x5</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT6</name>
                  <description>Alternative connection 6.</description>
                  <value>0x6</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT7</name>
                  <description>Alternative connection 7.</description>
                  <value>0x7</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>MODE</name>
              <description>Selects function mode (on-chip pull-up/pull-down resistor control).</description>
              <bitOffset>3</bitOffset>
              <bitWidth>2</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>INACTIVE</name>
                  <description>Inactive. Inactive (no pull-down/pull-up resistor enabled).</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>PULL_DOWN</name>
                  <description>Pull-down. Pull-down resistor enabled.</description>
                  <value>0x1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>PULL_UP</name>
                  <description>Pull-up. Pull-up resistor enabled.</description>
                  <value>0x2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>REPEATER</name>
                  <description>Repeater. Repeater mode.</description>
                  <value>0x3</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>INVERT</name>
              <description>Input polarity.</description>
              <bitOffset>6</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>DISABLED</name>
                  <description>Disabled. Input function is not inverted.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ENABLED</name>
                  <description>Enabled. Input is function inverted.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>DIGIMODE</name>
              <description>Select Analog/Digital mode.</description>
              <bitOffset>7</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>ANALOG</name>
                  <description>Analog mode.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>DIGITAL</name>
                  <description>Digital mode.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>FILTEROFF</name>
              <description>Controls input glitch filter.</description>
              <bitOffset>8</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>ENABLED</name>
                  <description>Filter enabled. Noise pulses below approximately 10 ns are filtered out.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>DISABLED</name>
                  <description>Filter disabled. No input filtering is done.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>SLEW</name>
              <description>Driver slew rate.</description>
              <bitOffset>9</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>STANDARD</name>
                  <description>Standard mode, output slew rate control is enabled. More outputs can be switched simultaneously.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>FAST</name>
                  <description>Fast mode, slew rate control is disabled. Refer to the appropriate specific device data sheet for details.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>OD</name>
              <description>Controls open-drain mode.</description>
              <bitOffset>10</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>NORMAL</name>
                  <description>Normal. Normal push-pull output</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>OPEN_DRAIN</name>
                  <description>Open-drain. Simulated open-drain output (high drive disabled).</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>PIO120</name>
          <description>Digital I/O control for port 1 pins PIO1_20</description>
          <addressOffset>0xD0</addressOffset>
          <size>32</size>
          <access>read-write</access>
          <resetValue>0x190</resetValue>
          <resetMask>0x7DF</resetMask>
          <fields>
            <field>
              <name>FUNC</name>
              <description>Selects pin function.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>3</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>ALT0</name>
                  <description>Alternative connection 0.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT1</name>
                  <description>Alternative connection 1.</description>
                  <value>0x1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT2</name>
                  <description>Alternative connection 2.</description>
                  <value>0x2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT3</name>
                  <description>Alternative connection 3.</description>
                  <value>0x3</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT4</name>
                  <description>Alternative connection 4.</description>
                  <value>0x4</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT5</name>
                  <description>Alternative connection 5.</description>
                  <value>0x5</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT6</name>
                  <description>Alternative connection 6.</description>
                  <value>0x6</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT7</name>
                  <description>Alternative connection 7.</description>
                  <value>0x7</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>MODE</name>
              <description>Selects function mode (on-chip pull-up/pull-down resistor control).</description>
              <bitOffset>3</bitOffset>
              <bitWidth>2</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>INACTIVE</name>
                  <description>Inactive. Inactive (no pull-down/pull-up resistor enabled).</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>PULL_DOWN</name>
                  <description>Pull-down. Pull-down resistor enabled.</description>
                  <value>0x1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>PULL_UP</name>
                  <description>Pull-up. Pull-up resistor enabled.</description>
                  <value>0x2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>REPEATER</name>
                  <description>Repeater. Repeater mode.</description>
                  <value>0x3</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>INVERT</name>
              <description>Input polarity.</description>
              <bitOffset>6</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>DISABLED</name>
                  <description>Disabled. Input function is not inverted.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ENABLED</name>
                  <description>Enabled. Input is function inverted.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>DIGIMODE</name>
              <description>Select Analog/Digital mode.</description>
              <bitOffset>7</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>ANALOG</name>
                  <description>Analog mode.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>DIGITAL</name>
                  <description>Digital mode.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>FILTEROFF</name>
              <description>Controls input glitch filter.</description>
              <bitOffset>8</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>ENABLED</name>
                  <description>Filter enabled. Noise pulses below approximately 10 ns are filtered out.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>DISABLED</name>
                  <description>Filter disabled. No input filtering is done.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>SLEW</name>
              <description>Driver slew rate.</description>
              <bitOffset>9</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>STANDARD</name>
                  <description>Standard mode, output slew rate control is enabled. More outputs can be switched simultaneously.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>FAST</name>
                  <description>Fast mode, slew rate control is disabled. Refer to the appropriate specific device data sheet for details.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>OD</name>
              <description>Controls open-drain mode.</description>
              <bitOffset>10</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>NORMAL</name>
                  <description>Normal. Normal push-pull output</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>OPEN_DRAIN</name>
                  <description>Open-drain. Simulated open-drain output (high drive disabled).</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>PIO121</name>
          <description>Digital I/O control for port 1 pins PIO1_21</description>
          <addressOffset>0xD4</addressOffset>
          <size>32</size>
          <access>read-write</access>
          <resetValue>0x190</resetValue>
          <resetMask>0x7DF</resetMask>
          <fields>
            <field>
              <name>FUNC</name>
              <description>Selects pin function.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>3</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>ALT0</name>
                  <description>Alternative connection 0.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT1</name>
                  <description>Alternative connection 1.</description>
                  <value>0x1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT2</name>
                  <description>Alternative connection 2.</description>
                  <value>0x2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT3</name>
                  <description>Alternative connection 3.</description>
                  <value>0x3</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT4</name>
                  <description>Alternative connection 4.</description>
                  <value>0x4</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT5</name>
                  <description>Alternative connection 5.</description>
                  <value>0x5</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT6</name>
                  <description>Alternative connection 6.</description>
                  <value>0x6</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT7</name>
                  <description>Alternative connection 7.</description>
                  <value>0x7</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>MODE</name>
              <description>Selects function mode (on-chip pull-up/pull-down resistor control).</description>
              <bitOffset>3</bitOffset>
              <bitWidth>2</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>INACTIVE</name>
                  <description>Inactive. Inactive (no pull-down/pull-up resistor enabled).</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>PULL_DOWN</name>
                  <description>Pull-down. Pull-down resistor enabled.</description>
                  <value>0x1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>PULL_UP</name>
                  <description>Pull-up. Pull-up resistor enabled.</description>
                  <value>0x2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>REPEATER</name>
                  <description>Repeater. Repeater mode.</description>
                  <value>0x3</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>INVERT</name>
              <description>Input polarity.</description>
              <bitOffset>6</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>DISABLED</name>
                  <description>Disabled. Input function is not inverted.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ENABLED</name>
                  <description>Enabled. Input is function inverted.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>DIGIMODE</name>
              <description>Select Analog/Digital mode.</description>
              <bitOffset>7</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>ANALOG</name>
                  <description>Analog mode.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>DIGITAL</name>
                  <description>Digital mode.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>FILTEROFF</name>
              <description>Controls input glitch filter.</description>
              <bitOffset>8</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>ENABLED</name>
                  <description>Filter enabled. Noise pulses below approximately 10 ns are filtered out.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>DISABLED</name>
                  <description>Filter disabled. No input filtering is done.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>SLEW</name>
              <description>Driver slew rate.</description>
              <bitOffset>9</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>STANDARD</name>
                  <description>Standard mode, output slew rate control is enabled. More outputs can be switched simultaneously.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>FAST</name>
                  <description>Fast mode, slew rate control is disabled. Refer to the appropriate specific device data sheet for details.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>OD</name>
              <description>Controls open-drain mode.</description>
              <bitOffset>10</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>NORMAL</name>
                  <description>Normal. Normal push-pull output</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>OPEN_DRAIN</name>
                  <description>Open-drain. Simulated open-drain output (high drive disabled).</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>PIO122</name>
          <description>Digital I/O control for port 1 pins PIO1_22</description>
          <addressOffset>0xD8</addressOffset>
          <size>32</size>
          <access>read-write</access>
          <resetValue>0x190</resetValue>
          <resetMask>0x7DF</resetMask>
          <fields>
            <field>
              <name>FUNC</name>
              <description>Selects pin function.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>3</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>ALT0</name>
                  <description>Alternative connection 0.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT1</name>
                  <description>Alternative connection 1.</description>
                  <value>0x1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT2</name>
                  <description>Alternative connection 2.</description>
                  <value>0x2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT3</name>
                  <description>Alternative connection 3.</description>
                  <value>0x3</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT4</name>
                  <description>Alternative connection 4.</description>
                  <value>0x4</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT5</name>
                  <description>Alternative connection 5.</description>
                  <value>0x5</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT6</name>
                  <description>Alternative connection 6.</description>
                  <value>0x6</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT7</name>
                  <description>Alternative connection 7.</description>
                  <value>0x7</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>MODE</name>
              <description>Selects function mode (on-chip pull-up/pull-down resistor control).</description>
              <bitOffset>3</bitOffset>
              <bitWidth>2</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>INACTIVE</name>
                  <description>Inactive. Inactive (no pull-down/pull-up resistor enabled).</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>PULL_DOWN</name>
                  <description>Pull-down. Pull-down resistor enabled.</description>
                  <value>0x1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>PULL_UP</name>
                  <description>Pull-up. Pull-up resistor enabled.</description>
                  <value>0x2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>REPEATER</name>
                  <description>Repeater. Repeater mode.</description>
                  <value>0x3</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>INVERT</name>
              <description>Input polarity.</description>
              <bitOffset>6</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>DISABLED</name>
                  <description>Disabled. Input function is not inverted.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ENABLED</name>
                  <description>Enabled. Input is function inverted.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>DIGIMODE</name>
              <description>Select Analog/Digital mode.</description>
              <bitOffset>7</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>ANALOG</name>
                  <description>Analog mode.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>DIGITAL</name>
                  <description>Digital mode.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>FILTEROFF</name>
              <description>Controls input glitch filter.</description>
              <bitOffset>8</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>ENABLED</name>
                  <description>Filter enabled. Noise pulses below approximately 10 ns are filtered out.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>DISABLED</name>
                  <description>Filter disabled. No input filtering is done.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>SLEW</name>
              <description>Driver slew rate.</description>
              <bitOffset>9</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>STANDARD</name>
                  <description>Standard mode, output slew rate control is enabled. More outputs can be switched simultaneously.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>FAST</name>
                  <description>Fast mode, slew rate control is disabled. Refer to the appropriate specific device data sheet for details.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>OD</name>
              <description>Controls open-drain mode.</description>
              <bitOffset>10</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>NORMAL</name>
                  <description>Normal. Normal push-pull output</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>OPEN_DRAIN</name>
                  <description>Open-drain. Simulated open-drain output (high drive disabled).</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>PIO123</name>
          <description>Digital I/O control for port 1 pins PIO1_23</description>
          <addressOffset>0xDC</addressOffset>
          <size>32</size>
          <access>read-write</access>
          <resetValue>0x190</resetValue>
          <resetMask>0x7DF</resetMask>
          <fields>
            <field>
              <name>FUNC</name>
              <description>Selects pin function.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>3</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>ALT0</name>
                  <description>Alternative connection 0.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT1</name>
                  <description>Alternative connection 1.</description>
                  <value>0x1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT2</name>
                  <description>Alternative connection 2.</description>
                  <value>0x2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT3</name>
                  <description>Alternative connection 3.</description>
                  <value>0x3</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT4</name>
                  <description>Alternative connection 4.</description>
                  <value>0x4</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT5</name>
                  <description>Alternative connection 5.</description>
                  <value>0x5</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT6</name>
                  <description>Alternative connection 6.</description>
                  <value>0x6</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT7</name>
                  <description>Alternative connection 7.</description>
                  <value>0x7</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>MODE</name>
              <description>Selects function mode (on-chip pull-up/pull-down resistor control).</description>
              <bitOffset>3</bitOffset>
              <bitWidth>2</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>INACTIVE</name>
                  <description>Inactive. Inactive (no pull-down/pull-up resistor enabled).</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>PULL_DOWN</name>
                  <description>Pull-down. Pull-down resistor enabled.</description>
                  <value>0x1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>PULL_UP</name>
                  <description>Pull-up. Pull-up resistor enabled.</description>
                  <value>0x2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>REPEATER</name>
                  <description>Repeater. Repeater mode.</description>
                  <value>0x3</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>INVERT</name>
              <description>Input polarity.</description>
              <bitOffset>6</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>DISABLED</name>
                  <description>Disabled. Input function is not inverted.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ENABLED</name>
                  <description>Enabled. Input is function inverted.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>DIGIMODE</name>
              <description>Select Analog/Digital mode.</description>
              <bitOffset>7</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>ANALOG</name>
                  <description>Analog mode.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>DIGITAL</name>
                  <description>Digital mode.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>FILTEROFF</name>
              <description>Controls input glitch filter.</description>
              <bitOffset>8</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>ENABLED</name>
                  <description>Filter enabled. Noise pulses below approximately 10 ns are filtered out.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>DISABLED</name>
                  <description>Filter disabled. No input filtering is done.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>SLEW</name>
              <description>Driver slew rate.</description>
              <bitOffset>9</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>STANDARD</name>
                  <description>Standard mode, output slew rate control is enabled. More outputs can be switched simultaneously.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>FAST</name>
                  <description>Fast mode, slew rate control is disabled. Refer to the appropriate specific device data sheet for details.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>OD</name>
              <description>Controls open-drain mode.</description>
              <bitOffset>10</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>NORMAL</name>
                  <description>Normal. Normal push-pull output</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>OPEN_DRAIN</name>
                  <description>Open-drain. Simulated open-drain output (high drive disabled).</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>PIO124</name>
          <description>Digital I/O control for port 1 pins PIO1_24</description>
          <addressOffset>0xE0</addressOffset>
          <size>32</size>
          <access>read-write</access>
          <resetValue>0x190</resetValue>
          <resetMask>0x7DF</resetMask>
          <fields>
            <field>
              <name>FUNC</name>
              <description>Selects pin function.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>3</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>ALT0</name>
                  <description>Alternative connection 0.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT1</name>
                  <description>Alternative connection 1.</description>
                  <value>0x1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT2</name>
                  <description>Alternative connection 2.</description>
                  <value>0x2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT3</name>
                  <description>Alternative connection 3.</description>
                  <value>0x3</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT4</name>
                  <description>Alternative connection 4.</description>
                  <value>0x4</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT5</name>
                  <description>Alternative connection 5.</description>
                  <value>0x5</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT6</name>
                  <description>Alternative connection 6.</description>
                  <value>0x6</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT7</name>
                  <description>Alternative connection 7.</description>
                  <value>0x7</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>MODE</name>
              <description>Selects function mode (on-chip pull-up/pull-down resistor control).</description>
              <bitOffset>3</bitOffset>
              <bitWidth>2</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>INACTIVE</name>
                  <description>Inactive. Inactive (no pull-down/pull-up resistor enabled).</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>PULL_DOWN</name>
                  <description>Pull-down. Pull-down resistor enabled.</description>
                  <value>0x1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>PULL_UP</name>
                  <description>Pull-up. Pull-up resistor enabled.</description>
                  <value>0x2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>REPEATER</name>
                  <description>Repeater. Repeater mode.</description>
                  <value>0x3</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>INVERT</name>
              <description>Input polarity.</description>
              <bitOffset>6</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>DISABLED</name>
                  <description>Disabled. Input function is not inverted.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ENABLED</name>
                  <description>Enabled. Input is function inverted.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>DIGIMODE</name>
              <description>Select Analog/Digital mode.</description>
              <bitOffset>7</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>ANALOG</name>
                  <description>Analog mode.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>DIGITAL</name>
                  <description>Digital mode.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>FILTEROFF</name>
              <description>Controls input glitch filter.</description>
              <bitOffset>8</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>ENABLED</name>
                  <description>Filter enabled. Noise pulses below approximately 10 ns are filtered out.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>DISABLED</name>
                  <description>Filter disabled. No input filtering is done.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>SLEW</name>
              <description>Driver slew rate.</description>
              <bitOffset>9</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>STANDARD</name>
                  <description>Standard mode, output slew rate control is enabled. More outputs can be switched simultaneously.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>FAST</name>
                  <description>Fast mode, slew rate control is disabled. Refer to the appropriate specific device data sheet for details.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>OD</name>
              <description>Controls open-drain mode.</description>
              <bitOffset>10</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>NORMAL</name>
                  <description>Normal. Normal push-pull output</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>OPEN_DRAIN</name>
                  <description>Open-drain. Simulated open-drain output (high drive disabled).</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>PIO125</name>
          <description>Digital I/O control for port 1 pins PIO1_25</description>
          <addressOffset>0xE4</addressOffset>
          <size>32</size>
          <access>read-write</access>
          <resetValue>0x190</resetValue>
          <resetMask>0x7DF</resetMask>
          <fields>
            <field>
              <name>FUNC</name>
              <description>Selects pin function.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>3</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>ALT0</name>
                  <description>Alternative connection 0.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT1</name>
                  <description>Alternative connection 1.</description>
                  <value>0x1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT2</name>
                  <description>Alternative connection 2.</description>
                  <value>0x2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT3</name>
                  <description>Alternative connection 3.</description>
                  <value>0x3</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT4</name>
                  <description>Alternative connection 4.</description>
                  <value>0x4</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT5</name>
                  <description>Alternative connection 5.</description>
                  <value>0x5</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT6</name>
                  <description>Alternative connection 6.</description>
                  <value>0x6</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT7</name>
                  <description>Alternative connection 7.</description>
                  <value>0x7</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>MODE</name>
              <description>Selects function mode (on-chip pull-up/pull-down resistor control).</description>
              <bitOffset>3</bitOffset>
              <bitWidth>2</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>INACTIVE</name>
                  <description>Inactive. Inactive (no pull-down/pull-up resistor enabled).</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>PULL_DOWN</name>
                  <description>Pull-down. Pull-down resistor enabled.</description>
                  <value>0x1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>PULL_UP</name>
                  <description>Pull-up. Pull-up resistor enabled.</description>
                  <value>0x2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>REPEATER</name>
                  <description>Repeater. Repeater mode.</description>
                  <value>0x3</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>INVERT</name>
              <description>Input polarity.</description>
              <bitOffset>6</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>DISABLED</name>
                  <description>Disabled. Input function is not inverted.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ENABLED</name>
                  <description>Enabled. Input is function inverted.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>DIGIMODE</name>
              <description>Select Analog/Digital mode.</description>
              <bitOffset>7</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>ANALOG</name>
                  <description>Analog mode.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>DIGITAL</name>
                  <description>Digital mode.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>FILTEROFF</name>
              <description>Controls input glitch filter.</description>
              <bitOffset>8</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>ENABLED</name>
                  <description>Filter enabled. Noise pulses below approximately 10 ns are filtered out.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>DISABLED</name>
                  <description>Filter disabled. No input filtering is done.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>SLEW</name>
              <description>Driver slew rate.</description>
              <bitOffset>9</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>STANDARD</name>
                  <description>Standard mode, output slew rate control is enabled. More outputs can be switched simultaneously.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>FAST</name>
                  <description>Fast mode, slew rate control is disabled. Refer to the appropriate specific device data sheet for details.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>OD</name>
              <description>Controls open-drain mode.</description>
              <bitOffset>10</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>NORMAL</name>
                  <description>Normal. Normal push-pull output</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>OPEN_DRAIN</name>
                  <description>Open-drain. Simulated open-drain output (high drive disabled).</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>PIO126</name>
          <description>Digital I/O control for port 1 pins PIO1_26</description>
          <addressOffset>0xE8</addressOffset>
          <size>32</size>
          <access>read-write</access>
          <resetValue>0x190</resetValue>
          <resetMask>0x7DF</resetMask>
          <fields>
            <field>
              <name>FUNC</name>
              <description>Selects pin function.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>3</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>ALT0</name>
                  <description>Alternative connection 0.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT1</name>
                  <description>Alternative connection 1.</description>
                  <value>0x1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT2</name>
                  <description>Alternative connection 2.</description>
                  <value>0x2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT3</name>
                  <description>Alternative connection 3.</description>
                  <value>0x3</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT4</name>
                  <description>Alternative connection 4.</description>
                  <value>0x4</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT5</name>
                  <description>Alternative connection 5.</description>
                  <value>0x5</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT6</name>
                  <description>Alternative connection 6.</description>
                  <value>0x6</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT7</name>
                  <description>Alternative connection 7.</description>
                  <value>0x7</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>MODE</name>
              <description>Selects function mode (on-chip pull-up/pull-down resistor control).</description>
              <bitOffset>3</bitOffset>
              <bitWidth>2</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>INACTIVE</name>
                  <description>Inactive. Inactive (no pull-down/pull-up resistor enabled).</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>PULL_DOWN</name>
                  <description>Pull-down. Pull-down resistor enabled.</description>
                  <value>0x1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>PULL_UP</name>
                  <description>Pull-up. Pull-up resistor enabled.</description>
                  <value>0x2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>REPEATER</name>
                  <description>Repeater. Repeater mode.</description>
                  <value>0x3</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>INVERT</name>
              <description>Input polarity.</description>
              <bitOffset>6</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>DISABLED</name>
                  <description>Disabled. Input function is not inverted.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ENABLED</name>
                  <description>Enabled. Input is function inverted.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>DIGIMODE</name>
              <description>Select Analog/Digital mode.</description>
              <bitOffset>7</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>ANALOG</name>
                  <description>Analog mode.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>DIGITAL</name>
                  <description>Digital mode.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>FILTEROFF</name>
              <description>Controls input glitch filter.</description>
              <bitOffset>8</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>ENABLED</name>
                  <description>Filter enabled. Noise pulses below approximately 10 ns are filtered out.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>DISABLED</name>
                  <description>Filter disabled. No input filtering is done.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>SLEW</name>
              <description>Driver slew rate.</description>
              <bitOffset>9</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>STANDARD</name>
                  <description>Standard mode, output slew rate control is enabled. More outputs can be switched simultaneously.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>FAST</name>
                  <description>Fast mode, slew rate control is disabled. Refer to the appropriate specific device data sheet for details.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>OD</name>
              <description>Controls open-drain mode.</description>
              <bitOffset>10</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>NORMAL</name>
                  <description>Normal. Normal push-pull output</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>OPEN_DRAIN</name>
                  <description>Open-drain. Simulated open-drain output (high drive disabled).</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>PIO127</name>
          <description>Digital I/O control for port 1 pins PIO1_27</description>
          <addressOffset>0xEC</addressOffset>
          <size>32</size>
          <access>read-write</access>
          <resetValue>0x190</resetValue>
          <resetMask>0x7DF</resetMask>
          <fields>
            <field>
              <name>FUNC</name>
              <description>Selects pin function.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>3</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>ALT0</name>
                  <description>Alternative connection 0.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT1</name>
                  <description>Alternative connection 1.</description>
                  <value>0x1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT2</name>
                  <description>Alternative connection 2.</description>
                  <value>0x2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT3</name>
                  <description>Alternative connection 3.</description>
                  <value>0x3</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT4</name>
                  <description>Alternative connection 4.</description>
                  <value>0x4</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT5</name>
                  <description>Alternative connection 5.</description>
                  <value>0x5</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT6</name>
                  <description>Alternative connection 6.</description>
                  <value>0x6</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT7</name>
                  <description>Alternative connection 7.</description>
                  <value>0x7</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>MODE</name>
              <description>Selects function mode (on-chip pull-up/pull-down resistor control).</description>
              <bitOffset>3</bitOffset>
              <bitWidth>2</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>INACTIVE</name>
                  <description>Inactive. Inactive (no pull-down/pull-up resistor enabled).</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>PULL_DOWN</name>
                  <description>Pull-down. Pull-down resistor enabled.</description>
                  <value>0x1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>PULL_UP</name>
                  <description>Pull-up. Pull-up resistor enabled.</description>
                  <value>0x2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>REPEATER</name>
                  <description>Repeater. Repeater mode.</description>
                  <value>0x3</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>INVERT</name>
              <description>Input polarity.</description>
              <bitOffset>6</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>DISABLED</name>
                  <description>Disabled. Input function is not inverted.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ENABLED</name>
                  <description>Enabled. Input is function inverted.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>DIGIMODE</name>
              <description>Select Analog/Digital mode.</description>
              <bitOffset>7</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>ANALOG</name>
                  <description>Analog mode.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>DIGITAL</name>
                  <description>Digital mode.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>FILTEROFF</name>
              <description>Controls input glitch filter.</description>
              <bitOffset>8</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>ENABLED</name>
                  <description>Filter enabled. Noise pulses below approximately 10 ns are filtered out.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>DISABLED</name>
                  <description>Filter disabled. No input filtering is done.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>SLEW</name>
              <description>Driver slew rate.</description>
              <bitOffset>9</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>STANDARD</name>
                  <description>Standard mode, output slew rate control is enabled. More outputs can be switched simultaneously.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>FAST</name>
                  <description>Fast mode, slew rate control is disabled. Refer to the appropriate specific device data sheet for details.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>OD</name>
              <description>Controls open-drain mode.</description>
              <bitOffset>10</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>NORMAL</name>
                  <description>Normal. Normal push-pull output</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>OPEN_DRAIN</name>
                  <description>Open-drain. Simulated open-drain output (high drive disabled).</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>PIO128</name>
          <description>Digital I/O control for port 1 pins PIO1_28</description>
          <addressOffset>0xF0</addressOffset>
          <size>32</size>
          <access>read-write</access>
          <resetValue>0x190</resetValue>
          <resetMask>0x7DF</resetMask>
          <fields>
            <field>
              <name>FUNC</name>
              <description>Selects pin function.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>3</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>ALT0</name>
                  <description>Alternative connection 0.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT1</name>
                  <description>Alternative connection 1.</description>
                  <value>0x1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT2</name>
                  <description>Alternative connection 2.</description>
                  <value>0x2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT3</name>
                  <description>Alternative connection 3.</description>
                  <value>0x3</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT4</name>
                  <description>Alternative connection 4.</description>
                  <value>0x4</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT5</name>
                  <description>Alternative connection 5.</description>
                  <value>0x5</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT6</name>
                  <description>Alternative connection 6.</description>
                  <value>0x6</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT7</name>
                  <description>Alternative connection 7.</description>
                  <value>0x7</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>MODE</name>
              <description>Selects function mode (on-chip pull-up/pull-down resistor control).</description>
              <bitOffset>3</bitOffset>
              <bitWidth>2</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>INACTIVE</name>
                  <description>Inactive. Inactive (no pull-down/pull-up resistor enabled).</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>PULL_DOWN</name>
                  <description>Pull-down. Pull-down resistor enabled.</description>
                  <value>0x1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>PULL_UP</name>
                  <description>Pull-up. Pull-up resistor enabled.</description>
                  <value>0x2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>REPEATER</name>
                  <description>Repeater. Repeater mode.</description>
                  <value>0x3</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>INVERT</name>
              <description>Input polarity.</description>
              <bitOffset>6</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>DISABLED</name>
                  <description>Disabled. Input function is not inverted.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ENABLED</name>
                  <description>Enabled. Input is function inverted.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>DIGIMODE</name>
              <description>Select Analog/Digital mode.</description>
              <bitOffset>7</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>ANALOG</name>
                  <description>Analog mode.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>DIGITAL</name>
                  <description>Digital mode.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>FILTEROFF</name>
              <description>Controls input glitch filter.</description>
              <bitOffset>8</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>ENABLED</name>
                  <description>Filter enabled. Noise pulses below approximately 10 ns are filtered out.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>DISABLED</name>
                  <description>Filter disabled. No input filtering is done.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>SLEW</name>
              <description>Driver slew rate.</description>
              <bitOffset>9</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>STANDARD</name>
                  <description>Standard mode, output slew rate control is enabled. More outputs can be switched simultaneously.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>FAST</name>
                  <description>Fast mode, slew rate control is disabled. Refer to the appropriate specific device data sheet for details.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>OD</name>
              <description>Controls open-drain mode.</description>
              <bitOffset>10</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>NORMAL</name>
                  <description>Normal. Normal push-pull output</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>OPEN_DRAIN</name>
                  <description>Open-drain. Simulated open-drain output (high drive disabled).</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>PIO129</name>
          <description>Digital I/O control for port 1 pins PIO1_29</description>
          <addressOffset>0xF4</addressOffset>
          <size>32</size>
          <access>read-write</access>
          <resetValue>0x190</resetValue>
          <resetMask>0x7DF</resetMask>
          <fields>
            <field>
              <name>FUNC</name>
              <description>Selects pin function.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>3</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>ALT0</name>
                  <description>Alternative connection 0.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT1</name>
                  <description>Alternative connection 1.</description>
                  <value>0x1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT2</name>
                  <description>Alternative connection 2.</description>
                  <value>0x2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT3</name>
                  <description>Alternative connection 3.</description>
                  <value>0x3</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT4</name>
                  <description>Alternative connection 4.</description>
                  <value>0x4</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT5</name>
                  <description>Alternative connection 5.</description>
                  <value>0x5</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT6</name>
                  <description>Alternative connection 6.</description>
                  <value>0x6</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT7</name>
                  <description>Alternative connection 7.</description>
                  <value>0x7</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>MODE</name>
              <description>Selects function mode (on-chip pull-up/pull-down resistor control).</description>
              <bitOffset>3</bitOffset>
              <bitWidth>2</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>INACTIVE</name>
                  <description>Inactive. Inactive (no pull-down/pull-up resistor enabled).</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>PULL_DOWN</name>
                  <description>Pull-down. Pull-down resistor enabled.</description>
                  <value>0x1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>PULL_UP</name>
                  <description>Pull-up. Pull-up resistor enabled.</description>
                  <value>0x2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>REPEATER</name>
                  <description>Repeater. Repeater mode.</description>
                  <value>0x3</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>INVERT</name>
              <description>Input polarity.</description>
              <bitOffset>6</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>DISABLED</name>
                  <description>Disabled. Input function is not inverted.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ENABLED</name>
                  <description>Enabled. Input is function inverted.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>DIGIMODE</name>
              <description>Select Analog/Digital mode.</description>
              <bitOffset>7</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>ANALOG</name>
                  <description>Analog mode.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>DIGITAL</name>
                  <description>Digital mode.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>FILTEROFF</name>
              <description>Controls input glitch filter.</description>
              <bitOffset>8</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>ENABLED</name>
                  <description>Filter enabled. Noise pulses below approximately 10 ns are filtered out.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>DISABLED</name>
                  <description>Filter disabled. No input filtering is done.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>SLEW</name>
              <description>Driver slew rate.</description>
              <bitOffset>9</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>STANDARD</name>
                  <description>Standard mode, output slew rate control is enabled. More outputs can be switched simultaneously.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>FAST</name>
                  <description>Fast mode, slew rate control is disabled. Refer to the appropriate specific device data sheet for details.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>OD</name>
              <description>Controls open-drain mode.</description>
              <bitOffset>10</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>NORMAL</name>
                  <description>Normal. Normal push-pull output</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>OPEN_DRAIN</name>
                  <description>Open-drain. Simulated open-drain output (high drive disabled).</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>PIO130</name>
          <description>Digital I/O control for port 1 pins PIO1_30</description>
          <addressOffset>0xF8</addressOffset>
          <size>32</size>
          <access>read-write</access>
          <resetValue>0x190</resetValue>
          <resetMask>0x7DF</resetMask>
          <fields>
            <field>
              <name>FUNC</name>
              <description>Selects pin function.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>3</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>ALT0</name>
                  <description>Alternative connection 0.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT1</name>
                  <description>Alternative connection 1.</description>
                  <value>0x1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT2</name>
                  <description>Alternative connection 2.</description>
                  <value>0x2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT3</name>
                  <description>Alternative connection 3.</description>
                  <value>0x3</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT4</name>
                  <description>Alternative connection 4.</description>
                  <value>0x4</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT5</name>
                  <description>Alternative connection 5.</description>
                  <value>0x5</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT6</name>
                  <description>Alternative connection 6.</description>
                  <value>0x6</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT7</name>
                  <description>Alternative connection 7.</description>
                  <value>0x7</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>MODE</name>
              <description>Selects function mode (on-chip pull-up/pull-down resistor control).</description>
              <bitOffset>3</bitOffset>
              <bitWidth>2</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>INACTIVE</name>
                  <description>Inactive. Inactive (no pull-down/pull-up resistor enabled).</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>PULL_DOWN</name>
                  <description>Pull-down. Pull-down resistor enabled.</description>
                  <value>0x1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>PULL_UP</name>
                  <description>Pull-up. Pull-up resistor enabled.</description>
                  <value>0x2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>REPEATER</name>
                  <description>Repeater. Repeater mode.</description>
                  <value>0x3</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>INVERT</name>
              <description>Input polarity.</description>
              <bitOffset>6</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>DISABLED</name>
                  <description>Disabled. Input function is not inverted.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ENABLED</name>
                  <description>Enabled. Input is function inverted.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>DIGIMODE</name>
              <description>Select Analog/Digital mode.</description>
              <bitOffset>7</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>ANALOG</name>
                  <description>Analog mode.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>DIGITAL</name>
                  <description>Digital mode.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>FILTEROFF</name>
              <description>Controls input glitch filter.</description>
              <bitOffset>8</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>ENABLED</name>
                  <description>Filter enabled. Noise pulses below approximately 10 ns are filtered out.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>DISABLED</name>
                  <description>Filter disabled. No input filtering is done.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>SLEW</name>
              <description>Driver slew rate.</description>
              <bitOffset>9</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>STANDARD</name>
                  <description>Standard mode, output slew rate control is enabled. More outputs can be switched simultaneously.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>FAST</name>
                  <description>Fast mode, slew rate control is disabled. Refer to the appropriate specific device data sheet for details.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>OD</name>
              <description>Controls open-drain mode.</description>
              <bitOffset>10</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>NORMAL</name>
                  <description>Normal. Normal push-pull output</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>OPEN_DRAIN</name>
                  <description>Open-drain. Simulated open-drain output (high drive disabled).</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>PIO131</name>
          <description>Digital I/O control for port 1 pins PIO1_31</description>
          <addressOffset>0xFC</addressOffset>
          <size>32</size>
          <access>read-write</access>
          <resetValue>0x190</resetValue>
          <resetMask>0x7DF</resetMask>
          <fields>
            <field>
              <name>FUNC</name>
              <description>Selects pin function.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>3</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>ALT0</name>
                  <description>Alternative connection 0.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT1</name>
                  <description>Alternative connection 1.</description>
                  <value>0x1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT2</name>
                  <description>Alternative connection 2.</description>
                  <value>0x2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT3</name>
                  <description>Alternative connection 3.</description>
                  <value>0x3</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT4</name>
                  <description>Alternative connection 4.</description>
                  <value>0x4</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT5</name>
                  <description>Alternative connection 5.</description>
                  <value>0x5</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT6</name>
                  <description>Alternative connection 6.</description>
                  <value>0x6</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALT7</name>
                  <description>Alternative connection 7.</description>
                  <value>0x7</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>MODE</name>
              <description>Selects function mode (on-chip pull-up/pull-down resistor control).</description>
              <bitOffset>3</bitOffset>
              <bitWidth>2</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>INACTIVE</name>
                  <description>Inactive. Inactive (no pull-down/pull-up resistor enabled).</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>PULL_DOWN</name>
                  <description>Pull-down. Pull-down resistor enabled.</description>
                  <value>0x1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>PULL_UP</name>
                  <description>Pull-up. Pull-up resistor enabled.</description>
                  <value>0x2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>REPEATER</name>
                  <description>Repeater. Repeater mode.</description>
                  <value>0x3</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>INVERT</name>
              <description>Input polarity.</description>
              <bitOffset>6</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>DISABLED</name>
                  <description>Disabled. Input function is not inverted.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ENABLED</name>
                  <description>Enabled. Input is function inverted.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>DIGIMODE</name>
              <description>Select Analog/Digital mode.</description>
              <bitOffset>7</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>ANALOG</name>
                  <description>Analog mode.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>DIGITAL</name>
                  <description>Digital mode.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>FILTEROFF</name>
              <description>Controls input glitch filter.</description>
              <bitOffset>8</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>ENABLED</name>
                  <description>Filter enabled. Noise pulses below approximately 10 ns are filtered out.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>DISABLED</name>
                  <description>Filter disabled. No input filtering is done.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>SLEW</name>
              <description>Driver slew rate.</description>
              <bitOffset>9</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>STANDARD</name>
                  <description>Standard mode, output slew rate control is enabled. More outputs can be switched simultaneously.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>FAST</name>
                  <description>Fast mode, slew rate control is disabled. Refer to the appropriate specific device data sheet for details.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>OD</name>
              <description>Controls open-drain mode.</description>
              <bitOffset>10</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>NORMAL</name>
                  <description>Normal. Normal push-pull output</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>OPEN_DRAIN</name>
                  <description>Open-drain. Simulated open-drain output (high drive disabled).</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
      </registers>
    </peripheral>
    <peripheral>
      <name>GINT0</name>
      <description>LPC51u68 Group GPIO input interrupt (GINT0/1)</description>
      <groupName>GINT</groupName>
      <headerStructName>GINT</headerStructName>
      <baseAddress>0x40002000</baseAddress>
      <addressBlock>
        <offset>0</offset>
        <size>0x48</size>
        <usage>registers</usage>
      </addressBlock>
      <interrupt>
        <name>GINT0</name>
        <value>2</value>
      </interrupt>
      <registers>
        <register>
          <name>CTRL</name>
          <description>GPIO grouped interrupt control register</description>
          <addressOffset>0</addressOffset>
          <size>32</size>
          <access>read-write</access>
          <resetValue>0</resetValue>
          <resetMask>0x7</resetMask>
          <fields>
            <field>
              <name>INT</name>
              <description>Group interrupt status. This bit is cleared by writing a one to it. Writing zero has no effect.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>NO_REQUEST</name>
                  <description>No request. No interrupt request is pending.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>REQUEST_ACTIVE</name>
                  <description>Request active. Interrupt request is active.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>COMB</name>
              <description>Combine enabled inputs for group interrupt</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>OR</name>
                  <description>Or. OR functionality: A grouped interrupt is generated when any one of the enabled inputs is active (based on its programmed polarity).</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>AND</name>
                  <description>And. AND functionality: An interrupt is generated when all enabled bits are active (based on their programmed polarity).</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>TRIG</name>
              <description>Group interrupt trigger</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>EDGE_TRIGGERED</name>
                  <description>Edge-triggered.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>LEVEL_TRIGGERED</name>
                  <description>Level-triggered.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <dim>2</dim>
          <dimIncrement>0x4</dimIncrement>
          <name>PORT_POL[%s]</name>
          <description>GPIO grouped interrupt port 0 polarity register</description>
          <addressOffset>0x20</addressOffset>
          <size>32</size>
          <access>read-write</access>
          <resetValue>0xFFFFFFFF</resetValue>
          <resetMask>0xFFFFFFFF</resetMask>
          <fields>
            <field>
              <name>POL</name>
              <description>Configure pin polarity of port m pins for group interrupt. Bit n corresponds to pin PIOm_n of port m. 0 = the pin is active LOW. If the level on this pin is LOW, the pin contributes to the group interrupt. 1 = the pin is active HIGH. If the level on this pin is HIGH, the pin contributes to the group interrupt.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>32</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <dim>2</dim>
          <dimIncrement>0x4</dimIncrement>
          <name>PORT_ENA[%s]</name>
          <description>GPIO grouped interrupt port 0 enable register</description>
          <addressOffset>0x40</addressOffset>
          <size>32</size>
          <access>read-write</access>
          <resetValue>0</resetValue>
          <resetMask>0xFFFFFFFF</resetMask>
          <fields>
            <field>
              <name>ENA</name>
              <description>Enable port 0 pin for group interrupt. Bit n corresponds to pin Pm_n of port m. 0 = the port 0 pin is disabled and does not contribute to the grouped interrupt. 1 = the port 0 pin is enabled and contributes to the grouped interrupt.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>32</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
      </registers>
    </peripheral>
    <peripheral derivedFrom="GINT0">
      <name>GINT1</name>
      <description>LPC51u68 Group GPIO input interrupt (GINT0/1)</description>
      <groupName>GINT</groupName>
      <baseAddress>0x40003000</baseAddress>
      <addressBlock>
        <offset>0</offset>
        <size>0x48</size>
        <usage>registers</usage>
      </addressBlock>
      <interrupt>
        <name>GINT1</name>
        <value>3</value>
      </interrupt>
    </peripheral>
    <peripheral>
      <name>PINT</name>
      <description>LPC51u68 Pin interrupt and pattern match (PINT)</description>
      <groupName>PINT</groupName>
      <baseAddress>0x40004000</baseAddress>
      <addressBlock>
        <offset>0</offset>
        <size>0x34</size>
        <usage>registers</usage>
      </addressBlock>
      <interrupt>
        <name>PIN_INT0</name>
        <value>4</value>
      </interrupt>
      <interrupt>
        <name>PIN_INT1</name>
        <value>5</value>
      </interrupt>
      <interrupt>
        <name>PIN_INT2</name>
        <value>6</value>
      </interrupt>
      <interrupt>
        <name>PIN_INT3</name>
        <value>7</value>
      </interrupt>
      <registers>
        <register>
          <name>ISEL</name>
          <description>Pin Interrupt Mode register</description>
          <addressOffset>0</addressOffset>
          <size>32</size>
          <access>read-write</access>
          <resetValue>0</resetValue>
          <resetMask>0xFF</resetMask>
          <fields>
            <field>
              <name>PMODE</name>
              <description>Selects the interrupt mode for each pin interrupt. Bit n configures the pin interrupt selected in PINTSELn. 0 = Edge sensitive 1 = Level sensitive</description>
              <bitOffset>0</bitOffset>
              <bitWidth>8</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>IENR</name>
          <description>Pin interrupt level or rising edge interrupt enable register</description>
          <addressOffset>0x4</addressOffset>
          <size>32</size>
          <access>read-write</access>
          <resetValue>0</resetValue>
          <resetMask>0xFF</resetMask>
          <fields>
            <field>
              <name>ENRL</name>
              <description>Enables the rising edge or level interrupt for each pin interrupt. Bit n configures the pin interrupt selected in PINTSELn. 0 = Disable rising edge or level interrupt. 1 = Enable rising edge or level interrupt.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>8</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>SIENR</name>
          <description>Pin interrupt level or rising edge interrupt set register</description>
          <addressOffset>0x8</addressOffset>
          <size>32</size>
          <access>write-only</access>
          <resetValue>0</resetValue>
          <resetMask>0</resetMask>
          <fields>
            <field>
              <name>SETENRL</name>
              <description>Ones written to this address set bits in the IENR, thus enabling interrupts. Bit n sets bit n in the IENR register. 0 = No operation. 1 = Enable rising edge or level interrupt.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>8</bitWidth>
              <access>write-only</access>
            </field>
          </fields>
        </register>
        <register>
          <name>CIENR</name>
          <description>Pin interrupt level (rising edge interrupt) clear register</description>
          <addressOffset>0xC</addressOffset>
          <size>32</size>
          <access>write-only</access>
          <resetValue>0</resetValue>
          <resetMask>0</resetMask>
          <fields>
            <field>
              <name>CENRL</name>
              <description>Ones written to this address clear bits in the IENR, thus disabling the interrupts. Bit n clears bit n in the IENR register. 0 = No operation. 1 = Disable rising edge or level interrupt.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>8</bitWidth>
              <access>write-only</access>
            </field>
          </fields>
        </register>
        <register>
          <name>IENF</name>
          <description>Pin interrupt active level or falling edge interrupt enable register</description>
          <addressOffset>0x10</addressOffset>
          <size>32</size>
          <access>read-write</access>
          <resetValue>0</resetValue>
          <resetMask>0xFF</resetMask>
          <fields>
            <field>
              <name>ENAF</name>
              <description>Enables the falling edge or configures the active level interrupt for each pin interrupt. Bit n configures the pin interrupt selected in PINTSELn. 0 = Disable falling edge interrupt or set active interrupt level LOW. 1 = Enable falling edge interrupt enabled or set active interrupt level HIGH.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>8</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>SIENF</name>
          <description>Pin interrupt active level or falling edge interrupt set register</description>
          <addressOffset>0x14</addressOffset>
          <size>32</size>
          <access>write-only</access>
          <resetValue>0</resetValue>
          <resetMask>0</resetMask>
          <fields>
            <field>
              <name>SETENAF</name>
              <description>Ones written to this address set bits in the IENF, thus enabling interrupts. Bit n sets bit n in the IENF register. 0 = No operation. 1 = Select HIGH-active interrupt or enable falling edge interrupt.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>8</bitWidth>
              <access>write-only</access>
            </field>
          </fields>
        </register>
        <register>
          <name>CIENF</name>
          <description>Pin interrupt active level or falling edge interrupt clear register</description>
          <addressOffset>0x18</addressOffset>
          <size>32</size>
          <access>write-only</access>
          <resetValue>0</resetValue>
          <resetMask>0</resetMask>
          <fields>
            <field>
              <name>CENAF</name>
              <description>Ones written to this address clears bits in the IENF, thus disabling interrupts. Bit n clears bit n in the IENF register. 0 = No operation. 1 = LOW-active interrupt selected or falling edge interrupt disabled.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>8</bitWidth>
              <access>write-only</access>
            </field>
          </fields>
        </register>
        <register>
          <name>RISE</name>
          <description>Pin interrupt rising edge register</description>
          <addressOffset>0x1C</addressOffset>
          <size>32</size>
          <access>read-write</access>
          <resetValue>0</resetValue>
          <resetMask>0xFF</resetMask>
          <fields>
            <field>
              <name>RDET</name>
              <description>Rising edge detect. Bit n detects the rising edge of the pin selected in PINTSELn. Read 0: No rising edge has been detected on this pin since Reset or the last time a one was written to this bit. Write 0: no operation. Read 1: a rising edge has been detected since Reset or the last time a one was written to this bit. Write 1: clear rising edge detection for this pin.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>8</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>FALL</name>
          <description>Pin interrupt falling edge register</description>
          <addressOffset>0x20</addressOffset>
          <size>32</size>
          <access>read-write</access>
          <resetValue>0</resetValue>
          <resetMask>0xFF</resetMask>
          <fields>
            <field>
              <name>FDET</name>
              <description>Falling edge detect. Bit n detects the falling edge of the pin selected in PINTSELn. Read 0: No falling edge has been detected on this pin since Reset or the last time a one was written to this bit. Write 0: no operation. Read 1: a falling edge has been detected since Reset or the last time a one was written to this bit. Write 1: clear falling edge detection for this pin.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>8</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>IST</name>
          <description>Pin interrupt status register</description>
          <addressOffset>0x24</addressOffset>
          <size>32</size>
          <access>read-write</access>
          <resetValue>0</resetValue>
          <resetMask>0xFF</resetMask>
          <fields>
            <field>
              <name>PSTAT</name>
              <description>Pin interrupt status. Bit n returns the status, clears the edge interrupt, or inverts the active level of the pin selected in PINTSELn. Read 0: interrupt is not being requested for this interrupt pin. Write 0: no operation. Read 1: interrupt is being requested for this interrupt pin. Write 1 (edge-sensitive): clear rising- and falling-edge detection for this pin. Write 1 (level-sensitive): switch the active level for this pin (in the IENF register).</description>
              <bitOffset>0</bitOffset>
              <bitWidth>8</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>PMCTRL</name>
          <description>Pattern match interrupt control register</description>
          <addressOffset>0x28</addressOffset>
          <size>32</size>
          <access>read-write</access>
          <resetValue>0</resetValue>
          <resetMask>0xFF000003</resetMask>
          <fields>
            <field>
              <name>SEL_PMATCH</name>
              <description>Specifies whether the 8 pin interrupts are controlled by the pin interrupt function or by the pattern match function.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>PIN_INTERRUPT</name>
                  <description>Pin interrupt. Interrupts are driven in response to the standard pin interrupt function.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>PATTERN_MATCH</name>
                  <description>Pattern match. Interrupts are driven in response to pattern matches.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>ENA_RXEV</name>
              <description>Enables the RXEV output to the CPU and/or to a GPIO output when the specified boolean expression evaluates to true.</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>DISABLED</name>
                  <description>Disabled. RXEV output to the CPU is disabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ENABLED</name>
                  <description>Enabled. RXEV output to the CPU is enabled.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>PMAT</name>
              <description>This field displays the current state of pattern matches. A 1 in any bit of this field indicates that the corresponding product term is matched by the current state of the appropriate inputs.</description>
              <bitOffset>24</bitOffset>
              <bitWidth>8</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>PMSRC</name>
          <description>Pattern match interrupt bit-slice source register</description>
          <addressOffset>0x2C</addressOffset>
          <size>32</size>
          <access>read-write</access>
          <resetValue>0</resetValue>
          <resetMask>0xFFFFFF00</resetMask>
          <fields>
            <field>
              <name>SRC0</name>
              <description>Selects the input source for bit slice 0</description>
              <bitOffset>8</bitOffset>
              <bitWidth>3</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>INPUT0</name>
                  <description>Input 0. Selects the pin selected in the PINTSEL0 register as the source to bit slice 0.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>INPUT1</name>
                  <description>Input 1. Selects the pin selected in the PINTSEL1 register as the source to bit slice 0.</description>
                  <value>0x1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>INPUT2</name>
                  <description>Input 2. Selects the pin selected in the PINTSEL2 register as the source to bit slice 0.</description>
                  <value>0x2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>INPUT3</name>
                  <description>Input 3. Selects the pin selected in the PINTSEL3 register as the source to bit slice 0.</description>
                  <value>0x3</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>INPUT4</name>
                  <description>Input 4. Selects the pin selected in the PINTSEL4 register as the source to bit slice 0.</description>
                  <value>0x4</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>INPUT5</name>
                  <description>Input 5. Selects the pin selected in the PINTSEL5 register as the source to bit slice 0.</description>
                  <value>0x5</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>INPUT6</name>
                  <description>Input 6. Selects the pin selected in the PINTSEL6 register as the source to bit slice 0.</description>
                  <value>0x6</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>INPUT7</name>
                  <description>Input 7. Selects the pin selected in the PINTSEL7 register as the source to bit slice 0.</description>
                  <value>0x7</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>SRC1</name>
              <description>Selects the input source for bit slice 1</description>
              <bitOffset>11</bitOffset>
              <bitWidth>3</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>INPUT0</name>
                  <description>Input 0. Selects the pin selected in the PINTSEL0 register as the source to bit slice 1.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>INPUT1</name>
                  <description>Input 1. Selects the pin selected in the PINTSEL1 register as the source to bit slice 1.</description>
                  <value>0x1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>INPUT2</name>
                  <description>Input 2. Selects the pin selected in the PINTSEL2 register as the source to bit slice 1.</description>
                  <value>0x2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>INPUT3</name>
                  <description>Input 3. Selects the pin selected in the PINTSEL3 register as the source to bit slice 1.</description>
                  <value>0x3</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>INPUT4</name>
                  <description>Input 4. Selects the pin selected in the PINTSEL4 register as the source to bit slice 1.</description>
                  <value>0x4</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>INPUT5</name>
                  <description>Input 5. Selects the pin selected in the PINTSEL5 register as the source to bit slice 1.</description>
                  <value>0x5</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>INPUT6</name>
                  <description>Input 6. Selects the pin selected in the PINTSEL6 register as the source to bit slice 1.</description>
                  <value>0x6</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>INPUT7</name>
                  <description>Input 7. Selects the pin selected in the PINTSEL7 register as the source to bit slice 1.</description>
                  <value>0x7</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>SRC2</name>
              <description>Selects the input source for bit slice 2</description>
              <bitOffset>14</bitOffset>
              <bitWidth>3</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>INPUT0</name>
                  <description>Input 0. Selects the pin selected in the PINTSEL0 register as the source to bit slice 2.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>INPUT1</name>
                  <description>Input 1. Selects the pin selected in the PINTSEL1 register as the source to bit slice 2.</description>
                  <value>0x1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>INPUT2</name>
                  <description>Input 2. Selects the pin selected in the PINTSEL2 register as the source to bit slice 2.</description>
                  <value>0x2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>INPUT3</name>
                  <description>Input 3. Selects the pin selected in the PINTSEL3 register as the source to bit slice 2.</description>
                  <value>0x3</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>INPUT4</name>
                  <description>Input 4. Selects the pin selected in the PINTSEL4 register as the source to bit slice 2.</description>
                  <value>0x4</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>INPUT5</name>
                  <description>Input 5. Selects the pin selected in the PINTSEL5 register as the source to bit slice 2.</description>
                  <value>0x5</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>INPUT6</name>
                  <description>Input 6. Selects the pin selected in the PINTSEL6 register as the source to bit slice 2.</description>
                  <value>0x6</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>INPUT7</name>
                  <description>Input 7. Selects the pin selected in the PINTSEL7 register as the source to bit slice 2.</description>
                  <value>0x7</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>SRC3</name>
              <description>Selects the input source for bit slice 3</description>
              <bitOffset>17</bitOffset>
              <bitWidth>3</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>INPUT0</name>
                  <description>Input 0. Selects the pin selected in the PINTSEL0 register as the source to bit slice 3.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>INPUT1</name>
                  <description>Input 1. Selects the pin selected in the PINTSEL1 register as the source to bit slice 3.</description>
                  <value>0x1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>INPUT2</name>
                  <description>Input 2. Selects the pin selected in the PINTSEL2 register as the source to bit slice 3.</description>
                  <value>0x2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>INPUT3</name>
                  <description>Input 3. Selects the pin selected in the PINTSEL3 register as the source to bit slice 3.</description>
                  <value>0x3</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>INPUT4</name>
                  <description>Input 4. Selects the pin selected in the PINTSEL4 register as the source to bit slice 3.</description>
                  <value>0x4</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>INPUT5</name>
                  <description>Input 5. Selects the pin selected in the PINTSEL5 register as the source to bit slice 3.</description>
                  <value>0x5</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>INPUT6</name>
                  <description>Input 6. Selects the pin selected in the PINTSEL6 register as the source to bit slice 3.</description>
                  <value>0x6</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>INPUT7</name>
                  <description>Input 7. Selects the pin selected in the PINTSEL7 register as the source to bit slice 3.</description>
                  <value>0x7</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>SRC4</name>
              <description>Selects the input source for bit slice 4</description>
              <bitOffset>20</bitOffset>
              <bitWidth>3</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>INPUT0</name>
                  <description>Input 0. Selects the pin selected in the PINTSEL0 register as the source to bit slice 4.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>INPUT1</name>
                  <description>Input 1. Selects the pin selected in the PINTSEL1 register as the source to bit slice 4.</description>
                  <value>0x1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>INPUT2</name>
                  <description>Input 2. Selects the pin selected in the PINTSEL2 register as the source to bit slice 4.</description>
                  <value>0x2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>INPUT3</name>
                  <description>Input 3. Selects the pin selected in the PINTSEL3 register as the source to bit slice 4.</description>
                  <value>0x3</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>INPUT4</name>
                  <description>Input 4. Selects the pin selected in the PINTSEL4 register as the source to bit slice 4.</description>
                  <value>0x4</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>INPUT5</name>
                  <description>Input 5. Selects the pin selected in the PINTSEL5 register as the source to bit slice 4.</description>
                  <value>0x5</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>INPUT6</name>
                  <description>Input 6. Selects the pin selected in the PINTSEL6 register as the source to bit slice 4.</description>
                  <value>0x6</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>INPUT7</name>
                  <description>Input 7. Selects the pin selected in the PINTSEL7 register as the source to bit slice 4.</description>
                  <value>0x7</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>SRC5</name>
              <description>Selects the input source for bit slice 5</description>
              <bitOffset>23</bitOffset>
              <bitWidth>3</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>INPUT0</name>
                  <description>Input 0. Selects the pin selected in the PINTSEL0 register as the source to bit slice 5.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>INPUT1</name>
                  <description>Input 1. Selects the pin selected in the PINTSEL1 register as the source to bit slice 5.</description>
                  <value>0x1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>INPUT2</name>
                  <description>Input 2. Selects the pin selected in the PINTSEL2 register as the source to bit slice 5.</description>
                  <value>0x2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>INPUT3</name>
                  <description>Input 3. Selects the pin selected in the PINTSEL3 register as the source to bit slice 5.</description>
                  <value>0x3</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>INPUT4</name>
                  <description>Input 4. Selects the pin selected in the PINTSEL4 register as the source to bit slice 5.</description>
                  <value>0x4</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>INPUT5</name>
                  <description>Input 5. Selects the pin selected in the PINTSEL5 register as the source to bit slice 5.</description>
                  <value>0x5</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>INPUT6</name>
                  <description>Input 6. Selects the pin selected in the PINTSEL6 register as the source to bit slice 5.</description>
                  <value>0x6</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>INPUT7</name>
                  <description>Input 7. Selects the pin selected in the PINTSEL7 register as the source to bit slice 5.</description>
                  <value>0x7</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>SRC6</name>
              <description>Selects the input source for bit slice 6</description>
              <bitOffset>26</bitOffset>
              <bitWidth>3</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>INPUT0</name>
                  <description>Input 0. Selects the pin selected in the PINTSEL0 register as the source to bit slice 6.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>INPUT1</name>
                  <description>Input 1. Selects the pin selected in the PINTSEL1 register as the source to bit slice 6.</description>
                  <value>0x1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>INPUT2</name>
                  <description>Input 2. Selects the pin selected in the PINTSEL2 register as the source to bit slice 6.</description>
                  <value>0x2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>INPUT3</name>
                  <description>Input 3. Selects the pin selected in the PINTSEL3 register as the source to bit slice 6.</description>
                  <value>0x3</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>INPUT4</name>
                  <description>Input 4. Selects the pin selected in the PINTSEL4 register as the source to bit slice 6.</description>
                  <value>0x4</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>INPUT5</name>
                  <description>Input 5. Selects the pin selected in the PINTSEL5 register as the source to bit slice 6.</description>
                  <value>0x5</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>INPUT6</name>
                  <description>Input 6. Selects the pin selected in the PINTSEL6 register as the source to bit slice 6.</description>
                  <value>0x6</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>INPUT7</name>
                  <description>Input 7. Selects the pin selected in the PINTSEL7 register as the source to bit slice 6.</description>
                  <value>0x7</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>SRC7</name>
              <description>Selects the input source for bit slice 7</description>
              <bitOffset>29</bitOffset>
              <bitWidth>3</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>INPUT0</name>
                  <description>Input 0. Selects the pin selected in the PINTSEL0 register as the source to bit slice 7.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>INPUT1</name>
                  <description>Input 1. Selects the pin selected in the PINTSEL1 register as the source to bit slice 7.</description>
                  <value>0x1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>INPUT2</name>
                  <description>Input 2. Selects the pin selected in the PINTSEL2 register as the source to bit slice 7.</description>
                  <value>0x2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>INPUT3</name>
                  <description>Input 3. Selects the pin selected in the PINTSEL3 register as the source to bit slice 7.</description>
                  <value>0x3</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>INPUT4</name>
                  <description>Input 4. Selects the pin selected in the PINTSEL4 register as the source to bit slice 7.</description>
                  <value>0x4</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>INPUT5</name>
                  <description>Input 5. Selects the pin selected in the PINTSEL5 register as the source to bit slice 7.</description>
                  <value>0x5</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>INPUT6</name>
                  <description>Input 6. Selects the pin selected in the PINTSEL6 register as the source to bit slice 7.</description>
                  <value>0x6</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>INPUT7</name>
                  <description>Input 7. Selects the pin selected in the PINTSEL7 register as the source to bit slice 7.</description>
                  <value>0x7</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>PMCFG</name>
          <description>Pattern match interrupt bit slice configuration register</description>
          <addressOffset>0x30</addressOffset>
          <size>32</size>
          <access>read-write</access>
          <resetValue>0</resetValue>
          <resetMask>0xFFFFFF7F</resetMask>
          <fields>
            <field>
              <name>PROD_ENDPTS0</name>
              <description>Determines whether slice 0 is an endpoint.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>NO_EFFECT</name>
                  <description>No effect. Slice 0 is not an endpoint.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ENDPOINT</name>
                  <description>endpoint. Slice 0 is the endpoint of a product term (minterm). Pin interrupt 0 in the NVIC is raised if the minterm evaluates as true.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>PROD_ENDPTS1</name>
              <description>Determines whether slice 1 is an endpoint.</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>NO_EFFECT</name>
                  <description>No effect. Slice 1 is not an endpoint.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ENDPOINT</name>
                  <description>endpoint. Slice 1 is the endpoint of a product term (minterm). Pin interrupt 1 in the NVIC is raised if the minterm evaluates as true.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>PROD_ENDPTS2</name>
              <description>Determines whether slice 2 is an endpoint.</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>NO_EFFECT</name>
                  <description>No effect. Slice 2 is not an endpoint.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ENDPOINT</name>
                  <description>endpoint. Slice 2 is the endpoint of a product term (minterm). Pin interrupt 2 in the NVIC is raised if the minterm evaluates as true.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>PROD_ENDPTS3</name>
              <description>Determines whether slice 3 is an endpoint.</description>
              <bitOffset>3</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>NO_EFFECT</name>
                  <description>No effect. Slice 3 is not an endpoint.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ENDPOINT</name>
                  <description>endpoint. Slice 3 is the endpoint of a product term (minterm). Pin interrupt 3 in the NVIC is raised if the minterm evaluates as true.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>PROD_ENDPTS4</name>
              <description>Determines whether slice 4 is an endpoint.</description>
              <bitOffset>4</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>NO_EFFECT</name>
                  <description>No effect. Slice 4 is not an endpoint.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ENDPOINT</name>
                  <description>endpoint. Slice 4 is the endpoint of a product term (minterm). Pin interrupt 4 in the NVIC is raised if the minterm evaluates as true.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>PROD_ENDPTS5</name>
              <description>Determines whether slice 5 is an endpoint.</description>
              <bitOffset>5</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>NO_EFFECT</name>
                  <description>No effect. Slice 5 is not an endpoint.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ENDPOINT</name>
                  <description>endpoint. Slice 5 is the endpoint of a product term (minterm). Pin interrupt 5 in the NVIC is raised if the minterm evaluates as true.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>PROD_ENDPTS6</name>
              <description>Determines whether slice 6 is an endpoint.</description>
              <bitOffset>6</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>NO_EFFECT</name>
                  <description>No effect. Slice 6 is not an endpoint.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ENDPOINT</name>
                  <description>endpoint. Slice 6 is the endpoint of a product term (minterm). Pin interrupt 6 in the NVIC is raised if the minterm evaluates as true.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>CFG0</name>
              <description>Specifies the match contribution condition for bit slice 0.</description>
              <bitOffset>8</bitOffset>
              <bitWidth>3</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>CONSTANT_HIGH</name>
                  <description>Constant HIGH. This bit slice always contributes to a product term match.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>STICKY_RISING_EDGE</name>
                  <description>Sticky rising edge. Match occurs if a rising edge on the specified input has occurred since the last time the edge detection for this bit slice was cleared. This bit is only cleared when the PMCFG or the PMSRC registers are written to.</description>
                  <value>0x1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>STICKY_FALLING_EDGE</name>
                  <description>Sticky falling edge. Match occurs if a falling edge on the specified input has occurred since the last time the edge detection for this bit slice was cleared. This bit is only cleared when the PMCFG or the PMSRC registers are written to.</description>
                  <value>0x2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>STICKY_RISING_FALLING_EDGE</name>
                  <description>Sticky rising or falling edge. Match occurs if either a rising or falling edge on the specified input has occurred since the last time the edge detection for this bit slice was cleared. This bit is only cleared when the PMCFG or the PMSRC registers are written to.</description>
                  <value>0x3</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>HIGH_LEVEL</name>
                  <description>High level. Match (for this bit slice) occurs when there is a high level on the input specified for this bit slice in the PMSRC register.</description>
                  <value>0x4</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>LOW_LEVEL</name>
                  <description>Low level. Match occurs when there is a low level on the specified input.</description>
                  <value>0x5</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>CONSTANT_ZERO</name>
                  <description>Constant 0. This bit slice never contributes to a match (should be used to disable any unused bit slices).</description>
                  <value>0x6</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>EVENT</name>
                  <description>Event. Non-sticky rising or falling edge. Match occurs on an event - i.e. when either a rising or falling edge is first detected on the specified input (this is a non-sticky version of value 0x3) . This bit is cleared after one clock cycle.</description>
                  <value>0x7</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>CFG1</name>
              <description>Specifies the match contribution condition for bit slice 1.</description>
              <bitOffset>11</bitOffset>
              <bitWidth>3</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>CONSTANT_HIGH</name>
                  <description>Constant HIGH. This bit slice always contributes to a product term match.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>STICKY_RISING_EDGE</name>
                  <description>Sticky rising edge. Match occurs if a rising edge on the specified input has occurred since the last time the edge detection for this bit slice was cleared. This bit is only cleared when the PMCFG or the PMSRC registers are written to.</description>
                  <value>0x1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>STICKY_FALLING_EDGE</name>
                  <description>Sticky falling edge. Match occurs if a falling edge on the specified input has occurred since the last time the edge detection for this bit slice was cleared. This bit is only cleared when the PMCFG or the PMSRC registers are written to.</description>
                  <value>0x2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>STICKY_RISING_FALLING_EDGE</name>
                  <description>Sticky rising or falling edge. Match occurs if either a rising or falling edge on the specified input has occurred since the last time the edge detection for this bit slice was cleared. This bit is only cleared when the PMCFG or the PMSRC registers are written to.</description>
                  <value>0x3</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>HIGH_LEVEL</name>
                  <description>High level. Match (for this bit slice) occurs when there is a high level on the input specified for this bit slice in the PMSRC register.</description>
                  <value>0x4</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>LOW_LEVEL</name>
                  <description>Low level. Match occurs when there is a low level on the specified input.</description>
                  <value>0x5</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>CONSTANT_ZERO</name>
                  <description>Constant 0. This bit slice never contributes to a match (should be used to disable any unused bit slices).</description>
                  <value>0x6</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>EVENT</name>
                  <description>Event. Non-sticky rising or falling edge. Match occurs on an event - i.e. when either a rising or falling edge is first detected on the specified input (this is a non-sticky version of value 0x3) . This bit is cleared after one clock cycle.</description>
                  <value>0x7</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>CFG2</name>
              <description>Specifies the match contribution condition for bit slice 2.</description>
              <bitOffset>14</bitOffset>
              <bitWidth>3</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>CONSTANT_HIGH</name>
                  <description>Constant HIGH. This bit slice always contributes to a product term match.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>STICKY_RISING_EDGE</name>
                  <description>Sticky rising edge. Match occurs if a rising edge on the specified input has occurred since the last time the edge detection for this bit slice was cleared. This bit is only cleared when the PMCFG or the PMSRC registers are written to.</description>
                  <value>0x1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>STICKY_FALLING_EDGE</name>
                  <description>Sticky falling edge. Match occurs if a falling edge on the specified input has occurred since the last time the edge detection for this bit slice was cleared. This bit is only cleared when the PMCFG or the PMSRC registers are written to.</description>
                  <value>0x2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>STICKY_RISING_FALLING_EDGE</name>
                  <description>Sticky rising or falling edge. Match occurs if either a rising or falling edge on the specified input has occurred since the last time the edge detection for this bit slice was cleared. This bit is only cleared when the PMCFG or the PMSRC registers are written to.</description>
                  <value>0x3</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>HIGH_LEVEL</name>
                  <description>High level. Match (for this bit slice) occurs when there is a high level on the input specified for this bit slice in the PMSRC register.</description>
                  <value>0x4</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>LOW_LEVEL</name>
                  <description>Low level. Match occurs when there is a low level on the specified input.</description>
                  <value>0x5</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>CONSTANT_ZERO</name>
                  <description>Constant 0. This bit slice never contributes to a match (should be used to disable any unused bit slices).</description>
                  <value>0x6</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>EVENT</name>
                  <description>Event. Non-sticky rising or falling edge. Match occurs on an event - i.e. when either a rising or falling edge is first detected on the specified input (this is a non-sticky version of value 0x3) . This bit is cleared after one clock cycle.</description>
                  <value>0x7</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>CFG3</name>
              <description>Specifies the match contribution condition for bit slice 3.</description>
              <bitOffset>17</bitOffset>
              <bitWidth>3</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>CONSTANT_HIGH</name>
                  <description>Constant HIGH. This bit slice always contributes to a product term match.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>STICKY_RISING_EDGE</name>
                  <description>Sticky rising edge. Match occurs if a rising edge on the specified input has occurred since the last time the edge detection for this bit slice was cleared. This bit is only cleared when the PMCFG or the PMSRC registers are written to.</description>
                  <value>0x1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>STICKY_FALLING_EDGE</name>
                  <description>Sticky falling edge. Match occurs if a falling edge on the specified input has occurred since the last time the edge detection for this bit slice was cleared. This bit is only cleared when the PMCFG or the PMSRC registers are written to.</description>
                  <value>0x2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>STICKY_RISING_FALLING_EDGE</name>
                  <description>Sticky rising or falling edge. Match occurs if either a rising or falling edge on the specified input has occurred since the last time the edge detection for this bit slice was cleared. This bit is only cleared when the PMCFG or the PMSRC registers are written to.</description>
                  <value>0x3</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>HIGH_LEVEL</name>
                  <description>High level. Match (for this bit slice) occurs when there is a high level on the input specified for this bit slice in the PMSRC register.</description>
                  <value>0x4</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>LOW_LEVEL</name>
                  <description>Low level. Match occurs when there is a low level on the specified input.</description>
                  <value>0x5</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>CONSTANT_ZERO</name>
                  <description>Constant 0. This bit slice never contributes to a match (should be used to disable any unused bit slices).</description>
                  <value>0x6</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>EVENT</name>
                  <description>Event. Non-sticky rising or falling edge. Match occurs on an event - i.e. when either a rising or falling edge is first detected on the specified input (this is a non-sticky version of value 0x3) . This bit is cleared after one clock cycle.</description>
                  <value>0x7</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>CFG4</name>
              <description>Specifies the match contribution condition for bit slice 4.</description>
              <bitOffset>20</bitOffset>
              <bitWidth>3</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>CONSTANT_HIGH</name>
                  <description>Constant HIGH. This bit slice always contributes to a product term match.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>STICKY_RISING_EDGE</name>
                  <description>Sticky rising edge. Match occurs if a rising edge on the specified input has occurred since the last time the edge detection for this bit slice was cleared. This bit is only cleared when the PMCFG or the PMSRC registers are written to.</description>
                  <value>0x1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>STICKY_FALLING_EDGE</name>
                  <description>Sticky falling edge. Match occurs if a falling edge on the specified input has occurred since the last time the edge detection for this bit slice was cleared. This bit is only cleared when the PMCFG or the PMSRC registers are written to.</description>
                  <value>0x2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>STICKY_RISING_FALLING_EDGE</name>
                  <description>Sticky rising or falling edge. Match occurs if either a rising or falling edge on the specified input has occurred since the last time the edge detection for this bit slice was cleared. This bit is only cleared when the PMCFG or the PMSRC registers are written to.</description>
                  <value>0x3</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>HIGH_LEVEL</name>
                  <description>High level. Match (for this bit slice) occurs when there is a high level on the input specified for this bit slice in the PMSRC register.</description>
                  <value>0x4</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>LOW_LEVEL</name>
                  <description>Low level. Match occurs when there is a low level on the specified input.</description>
                  <value>0x5</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>CONSTANT_ZERO</name>
                  <description>Constant 0. This bit slice never contributes to a match (should be used to disable any unused bit slices).</description>
                  <value>0x6</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>EVENT</name>
                  <description>Event. Non-sticky rising or falling edge. Match occurs on an event - i.e. when either a rising or falling edge is first detected on the specified input (this is a non-sticky version of value 0x3) . This bit is cleared after one clock cycle.</description>
                  <value>0x7</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>CFG5</name>
              <description>Specifies the match contribution condition for bit slice 5.</description>
              <bitOffset>23</bitOffset>
              <bitWidth>3</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>CONSTANT_HIGH</name>
                  <description>Constant HIGH. This bit slice always contributes to a product term match.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>STICKY_RISING_EDGE</name>
                  <description>Sticky rising edge. Match occurs if a rising edge on the specified input has occurred since the last time the edge detection for this bit slice was cleared. This bit is only cleared when the PMCFG or the PMSRC registers are written to.</description>
                  <value>0x1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>STICKY_FALLING_EDGE</name>
                  <description>Sticky falling edge. Match occurs if a falling edge on the specified input has occurred since the last time the edge detection for this bit slice was cleared. This bit is only cleared when the PMCFG or the PMSRC registers are written to.</description>
                  <value>0x2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>STICKY_RISING_FALLING_EDGE</name>
                  <description>Sticky rising or falling edge. Match occurs if either a rising or falling edge on the specified input has occurred since the last time the edge detection for this bit slice was cleared. This bit is only cleared when the PMCFG or the PMSRC registers are written to.</description>
                  <value>0x3</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>HIGH_LEVEL</name>
                  <description>High level. Match (for this bit slice) occurs when there is a high level on the input specified for this bit slice in the PMSRC register.</description>
                  <value>0x4</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>LOW_LEVEL</name>
                  <description>Low level. Match occurs when there is a low level on the specified input.</description>
                  <value>0x5</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>CONSTANT_ZERO</name>
                  <description>Constant 0. This bit slice never contributes to a match (should be used to disable any unused bit slices).</description>
                  <value>0x6</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>EVENT</name>
                  <description>Event. Non-sticky rising or falling edge. Match occurs on an event - i.e. when either a rising or falling edge is first detected on the specified input (this is a non-sticky version of value 0x3) . This bit is cleared after one clock cycle.</description>
                  <value>0x7</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>CFG6</name>
              <description>Specifies the match contribution condition for bit slice 6.</description>
              <bitOffset>26</bitOffset>
              <bitWidth>3</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>CONSTANT_HIGH</name>
                  <description>Constant HIGH. This bit slice always contributes to a product term match.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>STICKY_RISING_EDGE</name>
                  <description>Sticky rising edge. Match occurs if a rising edge on the specified input has occurred since the last time the edge detection for this bit slice was cleared. This bit is only cleared when the PMCFG or the PMSRC registers are written to.</description>
                  <value>0x1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>STICKY_FALLING_EDGE</name>
                  <description>Sticky falling edge. Match occurs if a falling edge on the specified input has occurred since the last time the edge detection for this bit slice was cleared. This bit is only cleared when the PMCFG or the PMSRC registers are written to.</description>
                  <value>0x2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>STICKY_RISING_FALLING_EDGE</name>
                  <description>Sticky rising or falling edge. Match occurs if either a rising or falling edge on the specified input has occurred since the last time the edge detection for this bit slice was cleared. This bit is only cleared when the PMCFG or the PMSRC registers are written to.</description>
                  <value>0x3</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>HIGH_LEVEL</name>
                  <description>High level. Match (for this bit slice) occurs when there is a high level on the input specified for this bit slice in the PMSRC register.</description>
                  <value>0x4</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>LOW_LEVEL</name>
                  <description>Low level. Match occurs when there is a low level on the specified input.</description>
                  <value>0x5</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>CONSTANT_ZERO</name>
                  <description>Constant 0. This bit slice never contributes to a match (should be used to disable any unused bit slices).</description>
                  <value>0x6</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>EVENT</name>
                  <description>Event. Non-sticky rising or falling edge. Match occurs on an event - i.e. when either a rising or falling edge is first detected on the specified input (this is a non-sticky version of value 0x3) . This bit is cleared after one clock cycle.</description>
                  <value>0x7</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>CFG7</name>
              <description>Specifies the match contribution condition for bit slice 7.</description>
              <bitOffset>29</bitOffset>
              <bitWidth>3</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>CONSTANT_HIGH</name>
                  <description>Constant HIGH. This bit slice always contributes to a product term match.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>STICKY_RISING_EDGE</name>
                  <description>Sticky rising edge. Match occurs if a rising edge on the specified input has occurred since the last time the edge detection for this bit slice was cleared. This bit is only cleared when the PMCFG or the PMSRC registers are written to.</description>
                  <value>0x1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>STICKY_FALLING_EDGE</name>
                  <description>Sticky falling edge. Match occurs if a falling edge on the specified input has occurred since the last time the edge detection for this bit slice was cleared. This bit is only cleared when the PMCFG or the PMSRC registers are written to.</description>
                  <value>0x2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>STICKY_RISING_FALLING_EDGE</name>
                  <description>Sticky rising or falling edge. Match occurs if either a rising or falling edge on the specified input has occurred since the last time the edge detection for this bit slice was cleared. This bit is only cleared when the PMCFG or the PMSRC registers are written to.</description>
                  <value>0x3</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>HIGH_LEVEL</name>
                  <description>High level. Match (for this bit slice) occurs when there is a high level on the input specified for this bit slice in the PMSRC register.</description>
                  <value>0x4</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>LOW_LEVEL</name>
                  <description>Low level. Match occurs when there is a low level on the specified input.</description>
                  <value>0x5</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>CONSTANT_ZERO</name>
                  <description>Constant 0. This bit slice never contributes to a match (should be used to disable any unused bit slices).</description>
                  <value>0x6</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>EVENT</name>
                  <description>Event. Non-sticky rising or falling edge. Match occurs on an event - i.e. when either a rising or falling edge is first detected on the specified input (this is a non-sticky version of value 0x3) . This bit is cleared after one clock cycle.</description>
                  <value>0x7</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
      </registers>
    </peripheral>
    <peripheral>
      <name>INPUTMUX</name>
      <description>LPC51u68 Input multiplexing (INPUT MUX)</description>
      <groupName>INPUTMUX</groupName>
      <baseAddress>0x40005000</baseAddress>
      <addressBlock>
        <offset>0</offset>
        <size>0x188</size>
        <usage>registers</usage>
      </addressBlock>
      <registers>
        <register>
          <dim>4</dim>
          <dimIncrement>0x4</dimIncrement>
          <name>PINTSEL[%s]</name>
          <description>Pin interrupt select register</description>
          <addressOffset>0xC0</addressOffset>
          <size>32</size>
          <access>read-write</access>
          <resetValue>0</resetValue>
          <resetMask>0xFF</resetMask>
          <fields>
            <field>
              <name>INTPIN</name>
              <description>Pin number select for pin interrupt or pattern match engine input. (PIO0_0 to PIO1_31 correspond to numbers 0 to 63).</description>
              <bitOffset>0</bitOffset>
              <bitWidth>8</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <dim>22</dim>
          <dimIncrement>0x4</dimIncrement>
          <name>DMA_ITRIG_INMUX[%s]</name>
          <description>Trigger select register for DMA channel</description>
          <addressOffset>0xE0</addressOffset>
          <size>32</size>
          <access>read-write</access>
          <resetValue>0x1F</resetValue>
          <resetMask>0x1F</resetMask>
          <fields>
            <field>
              <name>INP</name>
              <description>Trigger input number (decimal value) for DMA channel n (n = 0 to 21). 0 = ADC0 Sequence A interrupt 1 = ADC0 Sequence B interrupt 2 = SCT0 DMA request 0 3 = SCT0 DMA request 1 4 = Timer CTIMER0 Match 0 5 = Timer CTIMER0 Match 1 6 = Timer CTIMER1 Match 0 7 = RESERVED 8 = RESERVED 9 = Timer CTIMER3 Match 0 10 = RESERVED 11 = RESERVED 12 = Pin interrupt 0 13 = Pin interrupt 1 14 = Pin interrupt 2 15 = Pin interrupt 3 16 = DMA output trigger mux 0 17 = DMA output trigger mux 1 18 = DMA output trigger mux 2 19 = DMA output trigger mux 3</description>
              <bitOffset>0</bitOffset>
              <bitWidth>5</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <dim>4</dim>
          <dimIncrement>0x4</dimIncrement>
          <name>DMA_OTRIG_INMUX[%s]</name>
          <description>DMA output trigger selection to become DMA trigger</description>
          <addressOffset>0x160</addressOffset>
          <size>32</size>
          <access>read-write</access>
          <resetValue>0x1F</resetValue>
          <resetMask>0x1F</resetMask>
          <fields>
            <field>
              <name>INP</name>
              <description>DMA trigger output number (decimal value) for DMA channel n (n = 0 to 19).</description>
              <bitOffset>0</bitOffset>
              <bitWidth>5</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>FREQMEAS_REF</name>
          <description>Selection for frequency measurement reference clock</description>
          <addressOffset>0x180</addressOffset>
          <size>32</size>
          <access>read-write</access>
          <resetValue>0x1F</resetValue>
          <resetMask>0x1F</resetMask>
          <fields>
            <field>
              <name>CLKIN</name>
              <description>Clock source number (decimal value) for frequency measure function target clock: 0 = CLK_IN 1 = FRO 12 MHz oscillator 2 = Watchdog oscillator 3 = 32 kHz RTC oscillator 4 = Main clock (see Section 4.5.23) 5 = PIO0_4 6 = PIO0_20 7 = PIO0_24 8 = PIO1_4</description>
              <bitOffset>0</bitOffset>
              <bitWidth>5</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>FREQMEAS_TARGET</name>
          <description>Selection for frequency measurement target clock</description>
          <addressOffset>0x184</addressOffset>
          <size>32</size>
          <access>read-write</access>
          <resetValue>0x1F</resetValue>
          <resetMask>0x1F</resetMask>
          <fields>
            <field>
              <name>CLKIN</name>
              <description>Clock source number (decimal value) for frequency measure function target clock: 0 = CLK_IN 1 = FRO 12 MHz oscillator 2 = Watchdog oscillator 3 = 32 kHz RTC oscillator 4 = Main clock (see Section 4.5.23) 5 = PIO0_4 6 = PIO0_20 7 = PIO0_24 8 = PIO1_4</description>
              <bitOffset>0</bitOffset>
              <bitWidth>5</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
      </registers>
    </peripheral>
    <peripheral>
      <name>CTIMER0</name>
      <description>LPC51u68 Standard counter/timers (CTIMER0 to 4)</description>
      <groupName>CTIMER</groupName>
      <headerStructName>CTIMER</headerStructName>
      <baseAddress>0x40008000</baseAddress>
      <addressBlock>
        <offset>0</offset>
        <size>0x78</size>
        <usage>registers</usage>
      </addressBlock>
      <interrupt>
        <name>CTIMER0</name>
        <value>10</value>
      </interrupt>
      <registers>
        <register>
          <name>IR</name>
          <description>Interrupt Register. The IR can be written to clear interrupts. The IR can be read to identify which of eight possible interrupt sources are pending.</description>
          <addressOffset>0</addressOffset>
          <size>32</size>
          <access>read-write</access>
          <resetValue>0</resetValue>
          <resetMask>0xFF</resetMask>
          <fields>
            <field>
              <name>MR0INT</name>
              <description>Interrupt flag for match channel 0.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>MR1INT</name>
              <description>Interrupt flag for match channel 1.</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>MR2INT</name>
              <description>Interrupt flag for match channel 2.</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>MR3INT</name>
              <description>Interrupt flag for match channel 3.</description>
              <bitOffset>3</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>CR0INT</name>
              <description>Interrupt flag for capture channel 0 event.</description>
              <bitOffset>4</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>CR1INT</name>
              <description>Interrupt flag for capture channel 1 event.</description>
              <bitOffset>5</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>CR2INT</name>
              <description>Interrupt flag for capture channel 2 event.</description>
              <bitOffset>6</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>CR3INT</name>
              <description>Interrupt flag for capture channel 3 event.</description>
              <bitOffset>7</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>TCR</name>
          <description>Timer Control Register. The TCR is used to control the Timer Counter functions. The Timer Counter can be disabled or reset through the TCR.</description>
          <addressOffset>0x4</addressOffset>
          <size>32</size>
          <access>read-write</access>
          <resetValue>0</resetValue>
          <resetMask>0x3</resetMask>
          <fields>
            <field>
              <name>CEN</name>
              <description>Counter enable.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>DISABLED</name>
                  <description>Disabled.The counters are disabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ENABLED</name>
                  <description>Enabled. The Timer Counter and Prescale Counter are enabled.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>CRST</name>
              <description>Counter reset.</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>DISABLED</name>
                  <description>Disabled. Do nothing.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ENABLED</name>
                  <description>Enabled. The Timer Counter and the Prescale Counter are synchronously reset on the next positive edge of the APB bus clock. The counters remain reset until TCR[1] is returned to zero.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>TC</name>
          <description>Timer Counter. The 32 bit TC is incremented every PR+1 cycles of the APB bus clock. The TC is controlled through the TCR.</description>
          <addressOffset>0x8</addressOffset>
          <size>32</size>
          <access>read-write</access>
          <resetValue>0</resetValue>
          <resetMask>0xFFFFFFFF</resetMask>
          <fields>
            <field>
              <name>TCVAL</name>
              <description>Timer counter value.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>32</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>PR</name>
          <description>Prescale Register. When the Prescale Counter (PC) is equal to this value, the next clock increments the TC and clears the PC.</description>
          <addressOffset>0xC</addressOffset>
          <size>32</size>
          <access>read-write</access>
          <resetValue>0</resetValue>
          <resetMask>0xFFFFFFFF</resetMask>
          <fields>
            <field>
              <name>PRVAL</name>
              <description>Prescale counter value.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>32</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>PC</name>
          <description>Prescale Counter. The 32 bit PC is a counter which is incremented to the value stored in PR. When the value in PR is reached, the TC is incremented and the PC is cleared. The PC is observable and controllable through the bus interface.</description>
          <addressOffset>0x10</addressOffset>
          <size>32</size>
          <access>read-write</access>
          <resetValue>0</resetValue>
          <resetMask>0xFFFFFFFF</resetMask>
          <fields>
            <field>
              <name>PCVAL</name>
              <description>Prescale counter value.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>32</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>MCR</name>
          <description>Match Control Register. The MCR is used to control if an interrupt is generated and if the TC is reset when a Match occurs.</description>
          <addressOffset>0x14</addressOffset>
          <size>32</size>
          <access>read-write</access>
          <resetValue>0</resetValue>
          <resetMask>0xFFF</resetMask>
          <fields>
            <field>
              <name>MR0I</name>
              <description>Interrupt on MR0: an interrupt is generated when MR0 matches the value in the TC. 0 = disabled. 1 = enabled.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>MR0R</name>
              <description>Reset on MR0: the TC will be reset if MR0 matches it. 0 = disabled. 1 = enabled.</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>MR0S</name>
              <description>Stop on MR0: the TC and PC will be stopped and TCR[0] will be set to 0 if MR0 matches the TC. 0 = disabled. 1 = enabled.</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>MR1I</name>
              <description>Interrupt on MR1: an interrupt is generated when MR1 matches the value in the TC. 0 = disabled. 1 = enabled. 0 = disabled. 1 = enabled.</description>
              <bitOffset>3</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>MR1R</name>
              <description>Reset on MR1: the TC will be reset if MR1 matches it. 0 = disabled. 1 = enabled.</description>
              <bitOffset>4</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>MR1S</name>
              <description>Stop on MR1: the TC and PC will be stopped and TCR[0] will be set to 0 if MR1 matches the TC. 0 = disabled. 1 = enabled.</description>
              <bitOffset>5</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>MR2I</name>
              <description>Interrupt on MR2: an interrupt is generated when MR2 matches the value in the TC. 0 = disabled. 1 = enabled.</description>
              <bitOffset>6</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>MR2R</name>
              <description>Reset on MR2: the TC will be reset if MR2 matches it. 0 = disabled. 1 = enabled.</description>
              <bitOffset>7</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>MR2S</name>
              <description>Stop on MR2: the TC and PC will be stopped and TCR[0] will be set to 0 if MR2 matches the TC. 0 = disabled. 1 = enabled.</description>
              <bitOffset>8</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>MR3I</name>
              <description>Interrupt on MR3: an interrupt is generated when MR3 matches the value in the TC. 0 = disabled. 1 = enabled.</description>
              <bitOffset>9</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>MR3R</name>
              <description>Reset on MR3: the TC will be reset if MR3 matches it. 0 = disabled. 1 = enabled.</description>
              <bitOffset>10</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>MR3S</name>
              <description>Stop on MR3: the TC and PC will be stopped and TCR[0] will be set to 0 if MR3 matches the TC. 0 = disabled. 1 = enabled.</description>
              <bitOffset>11</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <dim>4</dim>
          <dimIncrement>0x4</dimIncrement>
          <name>MR[%s]</name>
          <description>Match Register . MR can be enabled through the MCR to reset the TC, stop both the TC and PC, and/or generate an interrupt every time MR matches the TC.</description>
          <addressOffset>0x18</addressOffset>
          <size>32</size>
          <access>read-write</access>
          <resetValue>0</resetValue>
          <resetMask>0xFFFFFFFF</resetMask>
          <fields>
            <field>
              <name>MATCH</name>
              <description>Timer counter match value.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>32</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>CCR</name>
          <description>Capture Control Register. The CCR controls which edges of the capture inputs are used to load the Capture Registers and whether or not an interrupt is generated when a capture takes place.</description>
          <addressOffset>0x28</addressOffset>
          <size>32</size>
          <access>read-write</access>
          <resetValue>0</resetValue>
          <resetMask>0xFFF</resetMask>
          <fields>
            <field>
              <name>CAP0RE</name>
              <description>Rising edge of capture channel 0: a sequence of 0 then 1 causes CR0 to be loaded with the contents of TC. 0 = disabled. 1 = enabled.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>CAP0FE</name>
              <description>Falling edge of capture channel 0: a sequence of 1 then 0 causes CR0 to be loaded with the contents of TC. 0 = disabled. 1 = enabled.</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>CAP0I</name>
              <description>Generate interrupt on channel 0 capture event: a CR0 load generates an interrupt.</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>CAP1RE</name>
              <description>Rising edge of capture channel 1: a sequence of 0 then 1 causes CR1 to be loaded with the contents of TC. 0 = disabled. 1 = enabled.</description>
              <bitOffset>3</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>CAP1FE</name>
              <description>Falling edge of capture channel 1: a sequence of 1 then 0 causes CR1 to be loaded with the contents of TC. 0 = disabled. 1 = enabled.</description>
              <bitOffset>4</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>CAP1I</name>
              <description>Generate interrupt on channel 1 capture event: a CR1 load generates an interrupt.</description>
              <bitOffset>5</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>CAP2RE</name>
              <description>Rising edge of capture channel 2: a sequence of 0 then 1 causes CR2 to be loaded with the contents of TC. 0 = disabled. 1 = enabled.</description>
              <bitOffset>6</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>CAP2FE</name>
              <description>Falling edge of capture channel 2: a sequence of 1 then 0 causes CR2 to be loaded with the contents of TC. 0 = disabled. 1 = enabled.</description>
              <bitOffset>7</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>CAP2I</name>
              <description>Generate interrupt on channel 2 capture event: a CR2 load generates an interrupt.</description>
              <bitOffset>8</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>CAP3RE</name>
              <description>Rising edge of capture channel 3: a sequence of 0 then 1 causes CR3 to be loaded with the contents of TC. 0 = disabled. 1 = enabled.</description>
              <bitOffset>9</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>CAP3FE</name>
              <description>Falling edge of capture channel 3: a sequence of 1 then 0 causes CR3 to be loaded with the contents of TC. 0 = disabled. 1 = enabled.</description>
              <bitOffset>10</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>CAP3I</name>
              <description>Generate interrupt on channel 3 capture event: a CR3 load generates an interrupt.</description>
              <bitOffset>11</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <dim>4</dim>
          <dimIncrement>0x4</dimIncrement>
          <name>CR[%s]</name>
          <description>Capture Register . CR is loaded with the value of TC when there is an event on the CAPn. input.</description>
          <addressOffset>0x2C</addressOffset>
          <size>32</size>
          <access>read-only</access>
          <resetValue>0</resetValue>
          <resetMask>0xFFFFFFFF</resetMask>
          <fields>
            <field>
              <name>CAP</name>
              <description>Timer counter capture value.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>32</bitWidth>
              <access>read-only</access>
            </field>
          </fields>
        </register>
        <register>
          <name>EMR</name>
          <description>External Match Register. The EMR controls the match function and the external match pins.</description>
          <addressOffset>0x3C</addressOffset>
          <size>32</size>
          <access>read-write</access>
          <resetValue>0</resetValue>
          <resetMask>0xFFF</resetMask>
          <fields>
            <field>
              <name>EM0</name>
              <description>External Match 0. This bit reflects the state of output MAT0, whether or not this output is connected to a pin. When a match occurs between the TC and MR0, this bit can either toggle, go LOW, go HIGH, or do nothing, as selected by EMR[5:4]. This bit is driven to the MAT pins if the match function is selected via IOCON. 0 = LOW. 1 = HIGH.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>EM1</name>
              <description>External Match 1. This bit reflects the state of output MAT1, whether or not this output is connected to a pin. When a match occurs between the TC and MR1, this bit can either toggle, go LOW, go HIGH, or do nothing, as selected by EMR[7:6]. This bit is driven to the MAT pins if the match function is selected via IOCON. 0 = LOW. 1 = HIGH.</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>EM2</name>
              <description>External Match 2. This bit reflects the state of output MAT2, whether or not this output is connected to a pin. When a match occurs between the TC and MR2, this bit can either toggle, go LOW, go HIGH, or do nothing, as selected by EMR[9:8]. This bit is driven to the MAT pins if the match function is selected via IOCON. 0 = LOW. 1 = HIGH.</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>EM3</name>
              <description>External Match 3. This bit reflects the state of output MAT3, whether or not this output is connected to a pin. When a match occurs between the TC and MR3, this bit can either toggle, go LOW, go HIGH, or do nothing, as selected by MR[11:10]. This bit is driven to the MAT pins if the match function is selected via IOCON. 0 = LOW. 1 = HIGH.</description>
              <bitOffset>3</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>EMC0</name>
              <description>External Match Control 0. Determines the functionality of External Match 0.</description>
              <bitOffset>4</bitOffset>
              <bitWidth>2</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>DO_NOTHING</name>
                  <description>Do Nothing.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>CLEAR</name>
                  <description>Clear. Clear the corresponding External Match bit/output to 0 (MAT0 pin is LOW if pinned out).</description>
                  <value>0x1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>SET</name>
                  <description>Set. Set the corresponding External Match bit/output to 1 (MAT0 pin is HIGH if pinned out).</description>
                  <value>0x2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>TOGGLE</name>
                  <description>Toggle. Toggle the corresponding External Match bit/output.</description>
                  <value>0x3</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>EMC1</name>
              <description>External Match Control 1. Determines the functionality of External Match 1.</description>
              <bitOffset>6</bitOffset>
              <bitWidth>2</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>DO_NOTHING</name>
                  <description>Do Nothing.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>CLEAR</name>
                  <description>Clear. Clear the corresponding External Match bit/output to 0 (MAT1 pin is LOW if pinned out).</description>
                  <value>0x1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>SET</name>
                  <description>Set. Set the corresponding External Match bit/output to 1 (MAT1 pin is HIGH if pinned out).</description>
                  <value>0x2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>TOGGLE</name>
                  <description>Toggle. Toggle the corresponding External Match bit/output.</description>
                  <value>0x3</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>EMC2</name>
              <description>External Match Control 2. Determines the functionality of External Match 2.</description>
              <bitOffset>8</bitOffset>
              <bitWidth>2</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>DO_NOTHING</name>
                  <description>Do Nothing.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>CLEAR</name>
                  <description>Clear. Clear the corresponding External Match bit/output to 0 (MAT2 pin is LOW if pinned out).</description>
                  <value>0x1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>SET</name>
                  <description>Set. Set the corresponding External Match bit/output to 1 (MAT2 pin is HIGH if pinned out).</description>
                  <value>0x2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>TOGGLE</name>
                  <description>Toggle. Toggle the corresponding External Match bit/output.</description>
                  <value>0x3</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>EMC3</name>
              <description>External Match Control 3. Determines the functionality of External Match 3.</description>
              <bitOffset>10</bitOffset>
              <bitWidth>2</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>DO_NOTHING</name>
                  <description>Do Nothing.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>CLEAR</name>
                  <description>Clear. Clear the corresponding External Match bit/output to 0 (MAT3 pin is LOW if pinned out).</description>
                  <value>0x1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>SET</name>
                  <description>Set. Set the corresponding External Match bit/output to 1 (MAT3 pin is HIGH if pinned out).</description>
                  <value>0x2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>TOGGLE</name>
                  <description>Toggle. Toggle the corresponding External Match bit/output.</description>
                  <value>0x3</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>CTCR</name>
          <description>Count Control Register. The CTCR selects between Timer and Counter mode, and in Counter mode selects the signal and edge(s) for counting.</description>
          <addressOffset>0x70</addressOffset>
          <size>32</size>
          <access>read-write</access>
          <resetValue>0</resetValue>
          <resetMask>0xFF</resetMask>
          <fields>
            <field>
              <name>CTMODE</name>
              <description>Counter/Timer Mode This field selects which rising APB bus clock edges can increment Timer's Prescale Counter (PC), or clear PC and increment Timer Counter (TC). Timer Mode: the TC is incremented when the Prescale Counter matches the Prescale Register.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>2</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>TIMER</name>
                  <description>Timer Mode. Incremented every rising APB bus clock edge.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>COUNTER_RISING_EDGE</name>
                  <description>Counter Mode rising edge. TC is incremented on rising edges on the CAP input selected by bits 3:2.</description>
                  <value>0x1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>COUNTER_FALLING_EDGE</name>
                  <description>Counter Mode falling edge. TC is incremented on falling edges on the CAP input selected by bits 3:2.</description>
                  <value>0x2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>COUNTER_DUAL_EDGE</name>
                  <description>Counter Mode dual edge. TC is incremented on both edges on the CAP input selected by bits 3:2.</description>
                  <value>0x3</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>CINSEL</name>
              <description>Count Input Select When bits 1:0 in this register are not 00, these bits select which CAP pin is sampled for clocking. Note: If Counter mode is selected for a particular CAPn input in the CTCR, the 3 bits for that input in the Capture Control Register (CCR) must be programmed as 000. However, capture and/or interrupt can be selected for the other 3 CAPn inputs in the same timer.</description>
              <bitOffset>2</bitOffset>
              <bitWidth>2</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>CHANNEL_0</name>
                  <description>Channel 0. CAPn.0 for CTIMERn</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>CHANNEL_1</name>
                  <description>Channel 1. CAPn.1 for CTIMERn</description>
                  <value>0x1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>CHANNEL_2</name>
                  <description>Channel 2. CAPn.2 for CTIMERn</description>
                  <value>0x2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>CHANNEL_3</name>
                  <description>Channel 3. CAPn.3 for CTIMERn</description>
                  <value>0x3</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>ENCC</name>
              <description>Setting this bit to 1 enables clearing of the timer and the prescaler when the capture-edge event specified in bits 7:5 occurs.</description>
              <bitOffset>4</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>SELCC</name>
              <description>Edge select. When bit 4 is 1, these bits select which capture input edge will cause the timer and prescaler to be cleared. These bits have no effect when bit 4 is low. Values 0x2 to 0x3 and 0x6 to 0x7 are reserved.</description>
              <bitOffset>5</bitOffset>
              <bitWidth>3</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>CHANNEL_0_RISING</name>
                  <description>Channel 0 Rising Edge. Rising edge of the signal on capture channel 0 clears the timer (if bit 4 is set).</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>CHANNEL_0_FALLING</name>
                  <description>Channel 0 Falling Edge. Falling edge of the signal on capture channel 0 clears the timer (if bit 4 is set).</description>
                  <value>0x1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>CHANNEL_1_RISING</name>
                  <description>Channel 1 Rising Edge. Rising edge of the signal on capture channel 1 clears the timer (if bit 4 is set).</description>
                  <value>0x2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>CHANNEL_1_FALLING</name>
                  <description>Channel 1 Falling Edge. Falling edge of the signal on capture channel 1 clears the timer (if bit 4 is set).</description>
                  <value>0x3</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>CHANNEL_2_RISING</name>
                  <description>Channel 2 Rising Edge. Rising edge of the signal on capture channel 2 clears the timer (if bit 4 is set).</description>
                  <value>0x4</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>CHANNEL_2_FALLING</name>
                  <description>Channel 2 Falling Edge. Falling edge of the signal on capture channel 2 clears the timer (if bit 4 is set).</description>
                  <value>0x5</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>PWMC</name>
          <description>PWM Control Register. The PWMCON enables PWM mode for the external match pins.</description>
          <addressOffset>0x74</addressOffset>
          <size>32</size>
          <access>read-write</access>
          <resetValue>0</resetValue>
          <resetMask>0xF</resetMask>
          <fields>
            <field>
              <name>PWMEN0</name>
              <description>PWM mode enable for channel0.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>MATCH</name>
                  <description>Match. CTIMERn_MAT0 is controlled by EM0.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>PWM</name>
                  <description>PWM. PWM mode is enabled for CTIMERn_MAT0.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>PWMEN1</name>
              <description>PWM mode enable for channel1.</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>MATCH</name>
                  <description>Match. CTIMERn_MAT01 is controlled by EM1.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>PWM</name>
                  <description>PWM. PWM mode is enabled for CTIMERn_MAT1.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>PWMEN2</name>
              <description>PWM mode enable for channel2.</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>MATCH</name>
                  <description>Match. CTIMERn_MAT2 is controlled by EM2.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>PWM</name>
                  <description>PWM. PWM mode is enabled for CTIMERn_MAT2.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>PWMEN3</name>
              <description>PWM mode enable for channel3. Note: It is recommended to use match channel 3 to set the PWM cycle.</description>
              <bitOffset>3</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>MATCH</name>
                  <description>Match. CTIMERn_MAT3 is controlled by EM3.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>PWM</name>
                  <description>PWM. PWM mode is enabled for CT132Bn_MAT3.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
      </registers>
    </peripheral>
    <peripheral derivedFrom="CTIMER0">
      <name>CTIMER1</name>
      <description>LPC51u68 Standard counter/timers (CTIMER0 to 4)</description>
      <groupName>CTIMER</groupName>
      <baseAddress>0x40009000</baseAddress>
      <addressBlock>
        <offset>0</offset>
        <size>0x78</size>
        <usage>registers</usage>
      </addressBlock>
      <interrupt>
        <name>CTIMER1</name>
        <value>11</value>
      </interrupt>
    </peripheral>
    <peripheral derivedFrom="CTIMER0">
      <name>CTIMER3</name>
      <description>LPC51u68 Standard counter/timers (CTIMER0 to 4)</description>
      <groupName>CTIMER</groupName>
      <baseAddress>0x40048000</baseAddress>
      <addressBlock>
        <offset>0</offset>
        <size>0x78</size>
        <usage>registers</usage>
      </addressBlock>
      <interrupt>
        <name>CTIMER3</name>
        <value>13</value>
      </interrupt>
    </peripheral>
    <peripheral>
      <name>WWDT</name>
      <description>LPC51u68 Windowed Watchdog Timer (WWDT)</description>
      <groupName>WWDT</groupName>
      <baseAddress>0x4000C000</baseAddress>
      <addressBlock>
        <offset>0</offset>
        <size>0x1C</size>
        <usage>registers</usage>
      </addressBlock>
      <interrupt>
        <name>WDT_BOD</name>
        <value>0</value>
      </interrupt>
      <registers>
        <register>
          <name>MOD</name>
          <description>Watchdog mode register. This register contains the basic mode and status of the Watchdog Timer.</description>
          <addressOffset>0</addressOffset>
          <size>32</size>
          <access>read-write</access>
          <resetValue>0</resetValue>
          <resetMask>0x3F</resetMask>
          <fields>
            <field>
              <name>WDEN</name>
              <description>Watchdog enable bit. Once this bit is set to one and a watchdog feed is performed, the watchdog timer will run permanently.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>STOP</name>
                  <description>Stop. The watchdog timer is stopped.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>RUN</name>
                  <description>Run. The watchdog timer is running.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>WDRESET</name>
              <description>Watchdog reset enable bit. Once this bit has been written with a 1 it cannot be re-written with a 0.</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>INTERRUPT</name>
                  <description>Interrupt. A watchdog time-out will not cause a chip reset.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>RESET</name>
                  <description>Reset. A watchdog time-out will cause a chip reset.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>WDTOF</name>
              <description>Watchdog time-out flag. Set when the watchdog timer times out, by a feed error, or by events associated with WDPROTECT. Cleared by software writing a 0 to this bit position. Causes a chip reset if WDRESET = 1.</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>WDINT</name>
              <description>Warning interrupt flag. Set when the timer is at or below the value in WDWARNINT. Cleared by software writing a 1 to this bit position. Note that this bit cannot be cleared while the WARNINT value is equal to the value of the TV register. This can occur if the value of WARNINT is 0 and the WDRESET bit is 0 when TV decrements to 0.</description>
              <bitOffset>3</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>WDPROTECT</name>
              <description>Watchdog update mode. This bit can be set once by software and is only cleared by a reset.</description>
              <bitOffset>4</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>FLEXIBLE</name>
                  <description>Flexible. The watchdog time-out value (TC) can be changed at any time.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>THRESHOLD</name>
                  <description>Threshold. The watchdog time-out value (TC) can be changed only after the counter is below the value of WDWARNINT and WDWINDOW.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>LOCK</name>
              <description>Once this bit is set to one and a watchdog feed is performed, disabling or powering down the watchdog oscillator is prevented by hardware. This bit can be set once by software and is only cleared by any reset.</description>
              <bitOffset>5</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>TC</name>
          <description>Watchdog timer constant register. This 24-bit register determines the time-out value.</description>
          <addressOffset>0x4</addressOffset>
          <size>32</size>
          <access>read-write</access>
          <resetValue>0xFF</resetValue>
          <resetMask>0xFFFFFF</resetMask>
          <fields>
            <field>
              <name>COUNT</name>
              <description>Watchdog time-out value.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>24</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>FEED</name>
          <description>Watchdog feed sequence register. Writing 0xAA followed by 0x55 to this register reloads the Watchdog timer with the value contained in TC.</description>
          <addressOffset>0x8</addressOffset>
          <size>32</size>
          <access>write-only</access>
          <resetValue>0</resetValue>
          <resetMask>0</resetMask>
          <fields>
            <field>
              <name>FEED</name>
              <description>Feed value should be 0xAA followed by 0x55.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>8</bitWidth>
              <access>write-only</access>
            </field>
          </fields>
        </register>
        <register>
          <name>TV</name>
          <description>Watchdog timer value register. This 24-bit register reads out the current value of the Watchdog timer.</description>
          <addressOffset>0xC</addressOffset>
          <size>32</size>
          <access>read-only</access>
          <resetValue>0xFF</resetValue>
          <resetMask>0xFFFFFF</resetMask>
          <fields>
            <field>
              <name>COUNT</name>
              <description>Counter timer value.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>24</bitWidth>
              <access>read-only</access>
            </field>
          </fields>
        </register>
        <register>
          <name>WARNINT</name>
          <description>Watchdog Warning Interrupt compare value.</description>
          <addressOffset>0x14</addressOffset>
          <size>32</size>
          <access>read-write</access>
          <resetValue>0</resetValue>
          <resetMask>0x3FF</resetMask>
          <fields>
            <field>
              <name>WARNINT</name>
              <description>Watchdog warning interrupt compare value.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>10</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>WINDOW</name>
          <description>Watchdog Window compare value.</description>
          <addressOffset>0x18</addressOffset>
          <size>32</size>
          <access>read-write</access>
          <resetValue>0xFFFFFF</resetValue>
          <resetMask>0xFFFFFF</resetMask>
          <fields>
            <field>
              <name>WINDOW</name>
              <description>Watchdog window value.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>24</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
      </registers>
    </peripheral>
    <peripheral>
      <name>MRT0</name>
      <description>LPC51u68 Multi-Rate Timer (MRT)</description>
      <groupName>MRT</groupName>
      <baseAddress>0x4000D000</baseAddress>
      <addressBlock>
        <offset>0</offset>
        <size>0xFC</size>
        <usage>registers</usage>
      </addressBlock>
      <interrupt>
        <name>MRT0</name>
        <value>9</value>
      </interrupt>
      <registers>
        <cluster>
          <dim>4</dim>
          <dimIncrement>0x10</dimIncrement>
          <name>CHANNEL[%s]</name>
          <description>no description available</description>
          <addressOffset>0</addressOffset>
          <register>
            <name>INTVAL</name>
            <description>MRT Time interval value register. This value is loaded into the TIMER register.</description>
            <addressOffset>0</addressOffset>
            <size>32</size>
            <access>read-write</access>
            <resetValue>0</resetValue>
            <resetMask>0x80FFFFFF</resetMask>
            <fields>
              <field>
                <name>IVALUE</name>
                <description>Time interval load value. This value is loaded into the TIMERn register and the MRT channel n starts counting down from IVALUE -1. If the timer is idle, writing a non-zero value to this bit field starts the timer immediately. If the timer is running, writing a zero to this bit field does the following: If LOAD = 1, the timer stops immediately. If LOAD = 0, the timer stops at the end of the time interval.</description>
                <bitOffset>0</bitOffset>
                <bitWidth>24</bitWidth>
                <access>read-write</access>
              </field>
              <field>
                <name>LOAD</name>
                <description>Determines how the timer interval value IVALUE -1 is loaded into the TIMERn register. This bit is write-only. Reading this bit always returns 0.</description>
                <bitOffset>31</bitOffset>
                <bitWidth>1</bitWidth>
                <access>read-write</access>
                <enumeratedValues>
                  <enumeratedValue>
                    <name>NO_FORCE_LOAD</name>
                    <description>No force load. The load from the INTVALn register to the TIMERn register is processed at the end of the time interval if the repeat mode is selected.</description>
                    <value>0</value>
                  </enumeratedValue>
                  <enumeratedValue>
                    <name>FORCE_LOAD</name>
                    <description>Force load. The INTVALn interval value IVALUE -1 is immediately loaded into the TIMERn register while TIMERn is running.</description>
                    <value>0x1</value>
                  </enumeratedValue>
                </enumeratedValues>
              </field>
            </fields>
          </register>
          <register>
            <name>TIMER</name>
            <description>MRT Timer register. This register reads the value of the down-counter.</description>
            <addressOffset>0x4</addressOffset>
            <size>32</size>
            <access>read-only</access>
            <resetValue>0xFFFFFF</resetValue>
            <resetMask>0xFFFFFF</resetMask>
            <fields>
              <field>
                <name>VALUE</name>
                <description>Holds the current timer value of the down-counter. The initial value of the TIMERn register is loaded as IVALUE - 1 from the INTVALn register either at the end of the time interval or immediately in the following cases: INTVALn register is updated in the idle state. INTVALn register is updated with LOAD = 1. When the timer is in idle state, reading this bit fields returns -1 (0x00FF FFFF).</description>
                <bitOffset>0</bitOffset>
                <bitWidth>24</bitWidth>
                <access>read-only</access>
              </field>
            </fields>
          </register>
          <register>
            <name>CTRL</name>
            <description>MRT Control register. This register controls the MRT modes.</description>
            <addressOffset>0x8</addressOffset>
            <size>32</size>
            <access>read-write</access>
            <resetValue>0</resetValue>
            <resetMask>0x7</resetMask>
            <fields>
              <field>
                <name>INTEN</name>
                <description>Enable the TIMERn interrupt.</description>
                <bitOffset>0</bitOffset>
                <bitWidth>1</bitWidth>
                <access>read-write</access>
                <enumeratedValues>
                  <enumeratedValue>
                    <name>DISABLED</name>
                    <description>Disabled. TIMERn interrupt is disabled.</description>
                    <value>0</value>
                  </enumeratedValue>
                  <enumeratedValue>
                    <name>ENABLED</name>
                    <description>Enabled. TIMERn interrupt is enabled.</description>
                    <value>0x1</value>
                  </enumeratedValue>
                </enumeratedValues>
              </field>
              <field>
                <name>MODE</name>
                <description>Selects timer mode.</description>
                <bitOffset>1</bitOffset>
                <bitWidth>2</bitWidth>
                <access>read-write</access>
                <enumeratedValues>
                  <enumeratedValue>
                    <name>REPEAT_INTERRUPT_MODE</name>
                    <description>Repeat interrupt mode.</description>
                    <value>0</value>
                  </enumeratedValue>
                  <enumeratedValue>
                    <name>ONE_SHOT_INTERRUPT_MODE</name>
                    <description>One-shot interrupt mode.</description>
                    <value>0x1</value>
                  </enumeratedValue>
                  <enumeratedValue>
                    <name>ONE_SHOT_STALL_MODE</name>
                    <description>One-shot stall mode.</description>
                    <value>0x2</value>
                  </enumeratedValue>
                </enumeratedValues>
              </field>
            </fields>
          </register>
          <register>
            <name>STAT</name>
            <description>MRT Status register.</description>
            <addressOffset>0xC</addressOffset>
            <size>32</size>
            <access>read-write</access>
            <resetValue>0</resetValue>
            <resetMask>0x7</resetMask>
            <fields>
              <field>
                <name>INTFLAG</name>
                <description>Monitors the interrupt flag.</description>
                <bitOffset>0</bitOffset>
                <bitWidth>1</bitWidth>
                <access>read-write</access>
                <enumeratedValues>
                  <enumeratedValue>
                    <name>NO_PENDING_INTERRUPT</name>
                    <description>No pending interrupt. Writing a zero is equivalent to no operation.</description>
                    <value>0</value>
                  </enumeratedValue>
                  <enumeratedValue>
                    <name>PENDING_INTERRUPT</name>
                    <description>Pending interrupt. The interrupt is pending because TIMERn has reached the end of the time interval. If the INTEN bit in the CONTROLn is also set to 1, the interrupt for timer channel n and the global interrupt are raised. Writing a 1 to this bit clears the interrupt request.</description>
                    <value>0x1</value>
                  </enumeratedValue>
                </enumeratedValues>
              </field>
              <field>
                <name>RUN</name>
                <description>Indicates the state of TIMERn. This bit is read-only.</description>
                <bitOffset>1</bitOffset>
                <bitWidth>1</bitWidth>
                <access>read-write</access>
                <enumeratedValues>
                  <enumeratedValue>
                    <name>IDLE_STATE</name>
                    <description>Idle state. TIMERn is stopped.</description>
                    <value>0</value>
                  </enumeratedValue>
                  <enumeratedValue>
                    <name>RUNNING</name>
                    <description>Running. TIMERn is running.</description>
                    <value>0x1</value>
                  </enumeratedValue>
                </enumeratedValues>
              </field>
              <field>
                <name>INUSE</name>
                <description>Channel In Use flag. Operating details depend on the MULTITASK bit in the MODCFG register, and affects the use of IDLE_CH. See Idle channel register for details of the two operating modes.</description>
                <bitOffset>2</bitOffset>
                <bitWidth>1</bitWidth>
                <access>read-write</access>
                <enumeratedValues>
                  <enumeratedValue>
                    <name>NO</name>
                    <description>This channel is not in use.</description>
                    <value>0</value>
                  </enumeratedValue>
                  <enumeratedValue>
                    <name>YES</name>
                    <description>This channel is in use.</description>
                    <value>0x1</value>
                  </enumeratedValue>
                </enumeratedValues>
              </field>
            </fields>
          </register>
        </cluster>
        <register>
          <name>MODCFG</name>
          <description>Module Configuration register. This register provides information about this particular MRT instance, and allows choosing an overall mode for the idle channel feature.</description>
          <addressOffset>0xF0</addressOffset>
          <size>32</size>
          <access>read-write</access>
          <resetValue>0x173</resetValue>
          <resetMask>0x800001FF</resetMask>
          <fields>
            <field>
              <name>NOC</name>
              <description>Identifies the number of channels in this MRT.(4 channels on this device.)</description>
              <bitOffset>0</bitOffset>
              <bitWidth>4</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>NOB</name>
              <description>Identifies the number of timer bits in this MRT. (24 bits wide on this device.)</description>
              <bitOffset>4</bitOffset>
              <bitWidth>5</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>MULTITASK</name>
              <description>Selects the operating mode for the INUSE flags and the IDLE_CH register.</description>
              <bitOffset>31</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>HARDWARE_STATUS_MODE</name>
                  <description>Hardware status mode. In this mode, the INUSE(n) flags for all channels are reset.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>MULTI_TASK_MODE</name>
                  <description>Multi-task mode.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>IDLE_CH</name>
          <description>Idle channel register. This register returns the number of the first idle channel.</description>
          <addressOffset>0xF4</addressOffset>
          <size>32</size>
          <access>read-only</access>
          <resetValue>0</resetValue>
          <resetMask>0xF0</resetMask>
          <fields>
            <field>
              <name>CHAN</name>
              <description>Idle channel. Reading the CHAN bits, returns the lowest idle timer channel. The number is positioned such that it can be used as an offset from the MRT base address in order to access the registers for the allocated channel. If all timer channels are running, CHAN = 0xF. See text above for more details.</description>
              <bitOffset>4</bitOffset>
              <bitWidth>4</bitWidth>
              <access>read-only</access>
            </field>
          </fields>
        </register>
        <register>
          <name>IRQ_FLAG</name>
          <description>Global interrupt flag register</description>
          <addressOffset>0xF8</addressOffset>
          <size>32</size>
          <access>read-write</access>
          <resetValue>0</resetValue>
          <resetMask>0xF</resetMask>
          <fields>
            <field>
              <name>GFLAG0</name>
              <description>Monitors the interrupt flag of TIMER0.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>NO_PENDING_INTERRUPT</name>
                  <description>No pending interrupt. Writing a zero is equivalent to no operation.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>PENDING_INTERRUPT</name>
                  <description>Pending interrupt. The interrupt is pending because TIMER0 has reached the end of the time interval. If the INTEN bit in the CONTROL0 register is also set to 1, the interrupt for timer channel 0 and the global interrupt are raised. Writing a 1 to this bit clears the interrupt request.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>GFLAG1</name>
              <description>Monitors the interrupt flag of TIMER1. See description of channel 0.</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>GFLAG2</name>
              <description>Monitors the interrupt flag of TIMER2. See description of channel 0.</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>GFLAG3</name>
              <description>Monitors the interrupt flag of TIMER3. See description of channel 0.</description>
              <bitOffset>3</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
      </registers>
    </peripheral>
    <peripheral>
      <name>UTICK0</name>
      <description>LPC51u68 Micro-tick Timer (UTICK)</description>
      <groupName>UTICK</groupName>
      <baseAddress>0x4000E000</baseAddress>
      <addressBlock>
        <offset>0</offset>
        <size>0x20</size>
        <usage>registers</usage>
      </addressBlock>
      <interrupt>
        <name>UTICK0</name>
        <value>8</value>
      </interrupt>
      <registers>
        <register>
          <name>CTRL</name>
          <description>Control register.</description>
          <addressOffset>0</addressOffset>
          <size>32</size>
          <access>read-write</access>
          <resetValue>0</resetValue>
          <resetMask>0xFFFFFFFF</resetMask>
          <fields>
            <field>
              <name>DELAYVAL</name>
              <description>Tick interval value. The delay will be equal to DELAYVAL + 1 periods of the timer clock. The minimum usable value is 1, for a delay of 2 timer clocks. A value of 0 stops the timer.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>31</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>REPEAT</name>
              <description>Repeat delay. 0 = One-time delay. 1 = Delay repeats continuously.</description>
              <bitOffset>31</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>STAT</name>
          <description>Status register.</description>
          <addressOffset>0x4</addressOffset>
          <size>32</size>
          <access>read-write</access>
          <resetValue>0</resetValue>
          <resetMask>0x3</resetMask>
          <fields>
            <field>
              <name>INTR</name>
              <description>Interrupt flag. 0 = No interrupt is pending. 1 = An interrupt is pending. A write of any value to this register clears this flag.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>ACTIVE</name>
              <description>Active flag. 0 = The Micro-Tick Timer is stopped. 1 = The Micro-Tick Timer is currently active.</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>CFG</name>
          <description>Capture configuration register.</description>
          <addressOffset>0x8</addressOffset>
          <size>32</size>
          <access>read-write</access>
          <resetValue>0</resetValue>
          <resetMask>0xF0F</resetMask>
          <fields>
            <field>
              <name>CAPEN0</name>
              <description>Enable Capture 0. 1 = Enabled, 0 = Disabled.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>CAPEN1</name>
              <description>Enable Capture 1. 1 = Enabled, 0 = Disabled.</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>CAPEN2</name>
              <description>Enable Capture 2. 1 = Enabled, 0 = Disabled.</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>CAPEN3</name>
              <description>Enable Capture 3. 1 = Enabled, 0 = Disabled.</description>
              <bitOffset>3</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>CAPPOL0</name>
              <description>Capture Polarity 0. 0 = Positive edge capture, 1 = Negative edge capture.</description>
              <bitOffset>8</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>CAPPOL1</name>
              <description>Capture Polarity 1. 0 = Positive edge capture, 1 = Negative edge capture.</description>
              <bitOffset>9</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>CAPPOL2</name>
              <description>Capture Polarity 2. 0 = Positive edge capture, 1 = Negative edge capture.</description>
              <bitOffset>10</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>CAPPOL3</name>
              <description>Capture Polarity 3. 0 = Positive edge capture, 1 = Negative edge capture.</description>
              <bitOffset>11</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>CAPCLR</name>
          <description>Capture clear register.</description>
          <addressOffset>0xC</addressOffset>
          <size>32</size>
          <access>write-only</access>
          <resetValue>0</resetValue>
          <resetMask>0</resetMask>
          <fields>
            <field>
              <name>CAPCLR0</name>
              <description>Clear capture 0. Writing 1 to this bit clears the CAP0 register value.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <access>write-only</access>
            </field>
            <field>
              <name>CAPCLR1</name>
              <description>Clear capture 1. Writing 1 to this bit clears the CAP1 register value.</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
              <access>write-only</access>
            </field>
            <field>
              <name>CAPCLR2</name>
              <description>Clear capture 2. Writing 1 to this bit clears the CAP2 register value.</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
              <access>write-only</access>
            </field>
            <field>
              <name>CAPCLR3</name>
              <description>Clear capture 3. Writing 1 to this bit clears the CAP3 register value.</description>
              <bitOffset>3</bitOffset>
              <bitWidth>1</bitWidth>
              <access>write-only</access>
            </field>
          </fields>
        </register>
        <register>
          <dim>4</dim>
          <dimIncrement>0x4</dimIncrement>
          <name>CAP[%s]</name>
          <description>Capture register .</description>
          <addressOffset>0x10</addressOffset>
          <size>32</size>
          <access>read-only</access>
          <resetValue>0</resetValue>
          <resetMask>0xFFFFFFFF</resetMask>
          <fields>
            <field>
              <name>CAP_VALUE</name>
              <description>Capture value for the related capture event (UTICK_CAPn. Note: the value is 1 lower than the actual value of the Micro-tick Timer at the moment of the capture event.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>31</bitWidth>
              <access>read-only</access>
            </field>
            <field>
              <name>VALID</name>
              <description>Capture Valid. When 1, a value has been captured based on a transition of the related UTICK_CAPn pin. Cleared by writing to the related bit in the CAPCLR register.</description>
              <bitOffset>31</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
            </field>
          </fields>
        </register>
      </registers>
    </peripheral>
    <peripheral>
      <name>RTC</name>
      <description>LPC51u68 Real-Time Clock (RTC)</description>
      <groupName>RTC</groupName>
      <baseAddress>0x4002C000</baseAddress>
      <addressBlock>
        <offset>0</offset>
        <size>0x10</size>
        <usage>registers</usage>
      </addressBlock>
      <interrupt>
        <name>RTC</name>
        <value>29</value>
      </interrupt>
      <registers>
        <register>
          <name>CTRL</name>
          <description>RTC control register</description>
          <addressOffset>0</addressOffset>
          <size>32</size>
          <access>read-write</access>
          <resetValue>0x1</resetValue>
          <resetMask>0x1FD</resetMask>
          <fields>
            <field>
              <name>SWRESET</name>
              <description>Software reset control</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>NOT_IN_RESET</name>
                  <description>Not in reset. The RTC is not held in reset. This bit must be cleared prior to configuring or initiating any operation of the RTC.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>IN_RESET</name>
                  <description>In reset. The RTC is held in reset. All register bits within the RTC will be forced to their reset value except the OFD bit. This bit must be cleared before writing to any register in the RTC - including writes to set any of the other bits within this register. Do not attempt to write to any bits of this register at the same time that the reset bit is being cleared.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>ALARM1HZ</name>
              <description>RTC 1 Hz timer alarm flag status.</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>NO_MATCH</name>
                  <description>No match. No match has occurred on the 1 Hz RTC timer. Writing a 0 has no effect.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>MATCH</name>
                  <description>Match. A match condition has occurred on the 1 Hz RTC timer. This flag generates an RTC alarm interrupt request RTC_ALARM which can also wake up the part from any low power mode. Writing a 1 clears this bit.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>WAKE1KHZ</name>
              <description>RTC 1 kHz timer wake-up flag status.</description>
              <bitOffset>3</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>RUN</name>
                  <description>Run. The RTC 1 kHz timer is running. Writing a 0 has no effect.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>TIMEOUT</name>
                  <description>Time-out. The 1 kHz high-resolution/wake-up timer has timed out. This flag generates an RTC wake-up interrupt request RTC-WAKE which can also wake up the part from any low power mode. Writing a 1 clears this bit.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>ALARMDPD_EN</name>
              <description>RTC 1 Hz timer alarm enable for Deep power-down.</description>
              <bitOffset>4</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>DISABLE</name>
                  <description>Disable. A match on the 1 Hz RTC timer will not bring the part out of Deep power-down mode.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ENABLE</name>
                  <description>Enable. A match on the 1 Hz RTC timer bring the part out of Deep power-down mode.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>WAKEDPD_EN</name>
              <description>RTC 1 kHz timer wake-up enable for Deep power-down.</description>
              <bitOffset>5</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>DISABLE</name>
                  <description>Disable. A match on the 1 kHz RTC timer will not bring the part out of Deep power-down mode.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ENABLE</name>
                  <description>Enable. A match on the 1 kHz RTC timer bring the part out of Deep power-down mode.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>RTC1KHZ_EN</name>
              <description>RTC 1 kHz clock enable. This bit can be set to 0 to conserve power if the 1 kHz timer is not used. This bit has no effect when the RTC is disabled (bit 7 of this register is 0).</description>
              <bitOffset>6</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>DISABLE</name>
                  <description>Disable. A match on the 1 kHz RTC timer will not bring the part out of Deep power-down mode.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ENABLE</name>
                  <description>Enable. The 1 kHz RTC timer is enabled.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>RTC_EN</name>
              <description>RTC enable.</description>
              <bitOffset>7</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>DISABLE</name>
                  <description>Disable. The RTC 1 Hz and 1 kHz clocks are shut down and the RTC operation is disabled. This bit should be 0 when writing to load a value in the RTC counter register.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ENABLE</name>
                  <description>Enable. The 1 Hz RTC clock is running and RTC operation is enabled. This bit must be set to initiate operation of the RTC. The first clock to the RTC counter occurs 1 s after this bit is set. To also enable the high-resolution, 1 kHz clock, set bit 6 in this register.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>RTC_OSC_PD</name>
              <description>RTC oscillator power-down control.</description>
              <bitOffset>8</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>POWER_UP</name>
                  <description>RTC oscillator is powered-up and can output a clock if a crystal is correctly connected externally</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>POWERED_DOWN</name>
                  <description>RTC oscillator is powered-down.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>MATCH</name>
          <description>RTC match register</description>
          <addressOffset>0x4</addressOffset>
          <size>32</size>
          <access>read-write</access>
          <resetValue>0xFFFFFFFF</resetValue>
          <resetMask>0xFFFFFFFF</resetMask>
          <fields>
            <field>
              <name>MATVAL</name>
              <description>Contains the match value against which the 1 Hz RTC timer will be compared to set the alarm flag RTC_ALARM and generate an alarm interrupt/wake-up if enabled.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>32</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>COUNT</name>
          <description>RTC counter register</description>
          <addressOffset>0x8</addressOffset>
          <size>32</size>
          <access>read-write</access>
          <resetValue>0</resetValue>
          <resetMask>0xFFFFFFFF</resetMask>
          <fields>
            <field>
              <name>VAL</name>
              <description>A read reflects the current value of the main, 1 Hz RTC timer. A write loads a new initial value into the timer. The RTC counter will count up continuously at a 1 Hz rate once the RTC Software Reset is removed (by clearing bit 0 of the CTRL register). Only write to this register when the RTC_EN bit in the RTC CTRL Register is 0. The counter increments one second after the RTC_EN bit is set.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>32</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>WAKE</name>
          <description>High-resolution/wake-up timer control register</description>
          <addressOffset>0xC</addressOffset>
          <size>32</size>
          <access>read-write</access>
          <resetValue>0</resetValue>
          <resetMask>0xFFFF</resetMask>
          <fields>
            <field>
              <name>VAL</name>
              <description>A read reflects the current value of the high-resolution/wake-up timer. A write pre-loads a start count value into the wake-up timer and initializes a count-down sequence. Do not write to this register while counting is in progress.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>16</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
      </registers>
    </peripheral>
    <peripheral>
      <name>FMC</name>
      <description>LPC51u68 Flash signature generator</description>
      <groupName>FMC</groupName>
      <baseAddress>0x40034000</baseAddress>
      <addressBlock>
        <offset>0</offset>
        <size>0xFEC</size>
        <usage>registers</usage>
      </addressBlock>
      <registers>
        <register>
          <name>FCTR</name>
          <description>Control register</description>
          <addressOffset>0</addressOffset>
          <size>32</size>
          <access>read-write</access>
          <resetValue>0x200005</resetValue>
          <resetMask>0xFFFFFF</resetMask>
          <fields>
            <field>
              <name>FS_RD0</name>
              <description>Value must be 0 for signature generation.</description>
              <bitOffset>3</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>FS_RD1</name>
              <description>Value must be 1 for signature generation.</description>
              <bitOffset>4</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>FBWST</name>
          <description>Wait state register</description>
          <addressOffset>0x10</addressOffset>
          <size>32</size>
          <access>read-write</access>
          <resetValue>0xC005</resetValue>
          <resetMask>0xFFFFFF</resetMask>
          <fields>
            <field>
              <name>WAITSTATES</name>
              <description>Wait states for signature generation.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>8</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>FMSSTART</name>
          <description>Signature start address register</description>
          <addressOffset>0x20</addressOffset>
          <size>32</size>
          <access>read-write</access>
          <resetValue>0</resetValue>
          <resetMask>0x1FFFF</resetMask>
          <fields>
            <field>
              <name>START</name>
              <description>Signature generation start address (corresponds to AHB byte address bits[20:4]).</description>
              <bitOffset>0</bitOffset>
              <bitWidth>17</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>FMSSTOP</name>
          <description>Signature stop-address register</description>
          <addressOffset>0x24</addressOffset>
          <size>32</size>
          <access>read-write</access>
          <resetValue>0</resetValue>
          <resetMask>0x3FFFF</resetMask>
          <fields>
            <field>
              <name>STOP</name>
              <description>Stop address for signature generation (the word specified by STOP is included in the address range).</description>
              <bitOffset>0</bitOffset>
              <bitWidth>17</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>SIG_START</name>
              <description>When this bit is written to 1, signature generation starts.</description>
              <bitOffset>17</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <dim>4</dim>
          <dimIncrement>0x4</dimIncrement>
          <name>FMSW[%s]</name>
          <description>Words of 128-bit signature word</description>
          <addressOffset>0x2C</addressOffset>
          <size>32</size>
          <access>read-only</access>
          <resetValue>0</resetValue>
          <resetMask>0xFFFFFFFF</resetMask>
          <fields>
            <field>
              <name>SW</name>
              <description>Words of 128-bit signature (bits).</description>
              <bitOffset>0</bitOffset>
              <bitWidth>32</bitWidth>
              <access>read-only</access>
            </field>
          </fields>
        </register>
        <register>
          <name>FMSTAT</name>
          <description>Signature generation status register</description>
          <addressOffset>0xFE0</addressOffset>
          <size>32</size>
          <access>read-only</access>
          <resetValue>0</resetValue>
          <resetMask>0x4</resetMask>
          <fields>
            <field>
              <name>SIG_DONE</name>
              <description>When 1, a previously started signature generation has completed.</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
            </field>
          </fields>
        </register>
        <register>
          <name>FMSTATCLR</name>
          <description>Signature generation status clear register</description>
          <addressOffset>0xFE8</addressOffset>
          <size>32</size>
          <access>write-only</access>
          <resetValue>0</resetValue>
          <resetMask>0x4</resetMask>
          <fields>
            <field>
              <name>SIG_DONE_CLR</name>
              <description>Writing a 1 to this bits clears the signature generation completion flag (SIG_DONE) in the FMSTAT register.</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
              <access>write-only</access>
            </field>
          </fields>
        </register>
      </registers>
    </peripheral>
    <peripheral>
      <name>ASYNC_SYSCON</name>
      <description>LPC51u68 Asynchronous system configuration (ASYNC_SYSCON)</description>
      <groupName>ASYNC_SYSCON</groupName>
      <baseAddress>0x40040000</baseAddress>
      <addressBlock>
        <offset>0</offset>
        <size>0x24</size>
        <usage>registers</usage>
      </addressBlock>
      <registers>
        <register>
          <name>ASYNCPRESETCTRL</name>
          <description>Async peripheral reset control</description>
          <addressOffset>0</addressOffset>
          <size>32</size>
          <access>read-write</access>
          <resetValue>0</resetValue>
          <resetMask>0x6000</resetMask>
          <fields>
            <field>
              <name>CTIMER3</name>
              <description>Standard counter/timer CTIMER3 reset control. 0 = Clear reset to this function. 1 = Assert reset to this function.</description>
              <bitOffset>13</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>ASYNCPRESETCTRLSET</name>
          <description>Set bits in ASYNCPRESETCTRL</description>
          <addressOffset>0x4</addressOffset>
          <size>32</size>
          <access>write-only</access>
          <resetValue>0</resetValue>
          <resetMask>0</resetMask>
          <fields>
            <field>
              <name>ARST_SET</name>
              <description>Writing ones to this register sets the corresponding bit or bits in the ASYNCPRESETCTRL register, if they are implemented. Bits that do not correspond to defined bits in ASYNCPRESETCTRL are reserved and only zeroes should be written to them.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>32</bitWidth>
              <access>write-only</access>
            </field>
          </fields>
        </register>
        <register>
          <name>ASYNCPRESETCTRLCLR</name>
          <description>Clear bits in ASYNCPRESETCTRL</description>
          <addressOffset>0x8</addressOffset>
          <size>32</size>
          <access>write-only</access>
          <resetValue>0</resetValue>
          <resetMask>0</resetMask>
          <fields>
            <field>
              <name>ARST_CLR</name>
              <description>Writing ones to this register clears the corresponding bit or bits in the ASYNCPRESETCTRL register, if they are implemented. Bits that do not correspond to defined bits in ASYNCPRESETCTRL are reserved and only zeroes should be written to them.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>32</bitWidth>
              <access>write-only</access>
            </field>
          </fields>
        </register>
        <register>
          <name>ASYNCAPBCLKCTRL</name>
          <description>Async peripheral clock control</description>
          <addressOffset>0x10</addressOffset>
          <size>32</size>
          <access>read-write</access>
          <resetValue>0</resetValue>
          <resetMask>0x6000</resetMask>
          <fields>
            <field>
              <name>CTIMER3</name>
              <description>Controls the clock for CTIMER3. 0 = Disable; 1 = Enable.</description>
              <bitOffset>13</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>ASYNCAPBCLKCTRLSET</name>
          <description>Set bits in ASYNCAPBCLKCTRL</description>
          <addressOffset>0x14</addressOffset>
          <size>32</size>
          <access>write-only</access>
          <resetValue>0</resetValue>
          <resetMask>0</resetMask>
          <fields>
            <field>
              <name>ACLK_SET</name>
              <description>Writing ones to this register sets the corresponding bit or bits in the ASYNCAPBCLKCTRL register, if they are implemented. Bits that do not correspond to defined bits in ASYNCPRESETCTRL are reserved and only zeroes should be written to them.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>32</bitWidth>
              <access>write-only</access>
            </field>
          </fields>
        </register>
        <register>
          <name>ASYNCAPBCLKCTRLCLR</name>
          <description>Clear bits in ASYNCAPBCLKCTRL</description>
          <addressOffset>0x18</addressOffset>
          <size>32</size>
          <access>write-only</access>
          <resetValue>0</resetValue>
          <resetMask>0</resetMask>
          <fields>
            <field>
              <name>ACLK_CLR</name>
              <description>Writing ones to this register clears the corresponding bit or bits in the ASYNCAPBCLKCTRL register, if they are implemented. Bits that do not correspond to defined bits in ASYNCAPBCLKCTRL are reserved and only zeroes should be written to them.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>32</bitWidth>
              <access>write-only</access>
            </field>
          </fields>
        </register>
        <register>
          <name>ASYNCAPBCLKSELA</name>
          <description>Async APB clock source select A</description>
          <addressOffset>0x20</addressOffset>
          <size>32</size>
          <access>read-write</access>
          <resetValue>0</resetValue>
          <resetMask>0x3</resetMask>
          <fields>
            <field>
              <name>SEL</name>
              <description>Clock source for asynchronous clock source selector A</description>
              <bitOffset>0</bitOffset>
              <bitWidth>2</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>MAIN_CLOCK</name>
                  <description>Main clock</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>FRO_12_MHZ</name>
                  <description>FRO 12 MHz</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
      </registers>
    </peripheral>
    <peripheral>
      <name>DMA0</name>
      <description>LPC51u68 DMA controller</description>
      <groupName>DMA</groupName>
      <baseAddress>0x40082000</baseAddress>
      <addressBlock>
        <offset>0</offset>
        <size>0x53C</size>
        <usage>registers</usage>
      </addressBlock>
      <interrupt>
        <name>DMA0</name>
        <value>1</value>
      </interrupt>
      <registers>
        <register>
          <name>CTRL</name>
          <description>DMA control.</description>
          <addressOffset>0</addressOffset>
          <size>32</size>
          <access>read-write</access>
          <resetValue>0</resetValue>
          <resetMask>0x1</resetMask>
          <fields>
            <field>
              <name>ENABLE</name>
              <description>DMA controller master enable.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>DISABLED</name>
                  <description>Disabled. The DMA controller is disabled. This clears any triggers that were asserted at the point when disabled, but does not prevent re-triggering when the DMA controller is re-enabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ENABLED</name>
                  <description>Enabled. The DMA controller is enabled.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>INTSTAT</name>
          <description>Interrupt status.</description>
          <addressOffset>0x4</addressOffset>
          <size>32</size>
          <access>read-only</access>
          <resetValue>0</resetValue>
          <resetMask>0x6</resetMask>
          <fields>
            <field>
              <name>ACTIVEINT</name>
              <description>Summarizes whether any enabled interrupts (other than error interrupts) are pending.</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>NOT_PENDING</name>
                  <description>Not pending. No enabled interrupts are pending.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>PENDING</name>
                  <description>Pending. At least one enabled interrupt is pending.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>ACTIVEERRINT</name>
              <description>Summarizes whether any error interrupts are pending.</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>NOT_PENDING</name>
                  <description>Not pending. No error interrupts are pending.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>PENDING</name>
                  <description>Pending. At least one error interrupt is pending.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>SRAMBASE</name>
          <description>SRAM address of the channel configuration table.</description>
          <addressOffset>0x8</addressOffset>
          <size>32</size>
          <access>read-write</access>
          <resetValue>0</resetValue>
          <resetMask>0xFFFFFE00</resetMask>
          <fields>
            <field>
              <name>OFFSET</name>
              <description>Address bits 31:9 of the beginning of the DMA descriptor table. For 18 channels, the table must begin on a 512 byte boundary.</description>
              <bitOffset>9</bitOffset>
              <bitWidth>23</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>ENABLESET0</name>
          <description>Channel Enable read and Set for all DMA channels.</description>
          <addressOffset>0x20</addressOffset>
          <size>32</size>
          <access>read-write</access>
          <resetValue>0</resetValue>
          <resetMask>0xFFFFFFFF</resetMask>
          <fields>
            <field>
              <name>ENA</name>
              <description>Enable for DMA channels. Bit n enables or disables DMA channel n. The number of bits = number of DMA channels in this device. Other bits are reserved. 0 = disabled. 1 = enabled.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>32</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>ENABLECLR0</name>
          <description>Channel Enable Clear for all DMA channels.</description>
          <addressOffset>0x28</addressOffset>
          <size>32</size>
          <access>write-only</access>
          <resetValue>0</resetValue>
          <resetMask>0</resetMask>
          <fields>
            <field>
              <name>CLR</name>
              <description>Writing ones to this register clears the corresponding bits in ENABLESET0. Bit n clears the channel enable bit n. The number of bits = number of DMA channels in this device. Other bits are reserved.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>32</bitWidth>
              <access>write-only</access>
            </field>
          </fields>
        </register>
        <register>
          <name>ACTIVE0</name>
          <description>Channel Active status for all DMA channels.</description>
          <addressOffset>0x30</addressOffset>
          <size>32</size>
          <access>read-only</access>
          <resetValue>0</resetValue>
          <resetMask>0xFFFFFFFF</resetMask>
          <fields>
            <field>
              <name>ACT</name>
              <description>Active flag for DMA channel n. Bit n corresponds to DMA channel n. The number of bits = number of DMA channels in this device. Other bits are reserved. 0 = not active. 1 = active.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>32</bitWidth>
              <access>read-only</access>
            </field>
          </fields>
        </register>
        <register>
          <name>BUSY0</name>
          <description>Channel Busy status for all DMA channels.</description>
          <addressOffset>0x38</addressOffset>
          <size>32</size>
          <access>read-only</access>
          <resetValue>0</resetValue>
          <resetMask>0xFFFFFFFF</resetMask>
          <fields>
            <field>
              <name>BSY</name>
              <description>Busy flag for DMA channel n. Bit n corresponds to DMA channel n. The number of bits = number of DMA channels in this device. Other bits are reserved. 0 = not busy. 1 = busy.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>32</bitWidth>
              <access>read-only</access>
            </field>
          </fields>
        </register>
        <register>
          <name>ERRINT0</name>
          <description>Error Interrupt status for all DMA channels.</description>
          <addressOffset>0x40</addressOffset>
          <size>32</size>
          <access>read-write</access>
          <resetValue>0</resetValue>
          <resetMask>0xFFFFFFFF</resetMask>
          <fields>
            <field>
              <name>ERR</name>
              <description>Error Interrupt flag for DMA channel n. Bit n corresponds to DMA channel n. The number of bits = number of DMA channels in this device. Other bits are reserved. 0 = error interrupt is not active. 1 = error interrupt is active.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>32</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>INTENSET0</name>
          <description>Interrupt Enable read and Set for all DMA channels.</description>
          <addressOffset>0x48</addressOffset>
          <size>32</size>
          <access>read-write</access>
          <resetValue>0</resetValue>
          <resetMask>0xFFFFFFFF</resetMask>
          <fields>
            <field>
              <name>INTEN</name>
              <description>Interrupt Enable read and set for DMA channel n. Bit n corresponds to DMA channel n. The number of bits = number of DMA channels in this device. Other bits are reserved. 0 = interrupt for DMA channel is disabled. 1 = interrupt for DMA channel is enabled.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>32</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>INTENCLR0</name>
          <description>Interrupt Enable Clear for all DMA channels.</description>
          <addressOffset>0x50</addressOffset>
          <size>32</size>
          <access>write-only</access>
          <resetValue>0</resetValue>
          <resetMask>0</resetMask>
          <fields>
            <field>
              <name>CLR</name>
              <description>Writing ones to this register clears corresponding bits in the INTENSET0. Bit n corresponds to DMA channel n. The number of bits = number of DMA channels in this device. Other bits are reserved.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>32</bitWidth>
              <access>write-only</access>
            </field>
          </fields>
        </register>
        <register>
          <name>INTA0</name>
          <description>Interrupt A status for all DMA channels.</description>
          <addressOffset>0x58</addressOffset>
          <size>32</size>
          <access>read-write</access>
          <resetValue>0</resetValue>
          <resetMask>0xFFFFFFFF</resetMask>
          <fields>
            <field>
              <name>IA</name>
              <description>Interrupt A status for DMA channel n. Bit n corresponds to DMA channel n. The number of bits = number of DMA channels in this device. Other bits are reserved. 0 = the DMA channel interrupt A is not active. 1 = the DMA channel interrupt A is active.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>32</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>INTB0</name>
          <description>Interrupt B status for all DMA channels.</description>
          <addressOffset>0x60</addressOffset>
          <size>32</size>
          <access>read-write</access>
          <resetValue>0</resetValue>
          <resetMask>0xFFFFFFFF</resetMask>
          <fields>
            <field>
              <name>IB</name>
              <description>Interrupt B status for DMA channel n. Bit n corresponds to DMA channel n. The number of bits = number of DMA channels in this device. Other bits are reserved. 0 = the DMA channel interrupt B is not active. 1 = the DMA channel interrupt B is active.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>32</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>SETVALID0</name>
          <description>Set ValidPending control bits for all DMA channels.</description>
          <addressOffset>0x68</addressOffset>
          <size>32</size>
          <access>write-only</access>
          <resetValue>0</resetValue>
          <resetMask>0</resetMask>
          <fields>
            <field>
              <name>SV</name>
              <description>SETVALID control for DMA channel n. Bit n corresponds to DMA channel n. The number of bits = number of DMA channels in this device. Other bits are reserved. 0 = no effect. 1 = sets the VALIDPENDING control bit for DMA channel n</description>
              <bitOffset>0</bitOffset>
              <bitWidth>32</bitWidth>
              <access>write-only</access>
            </field>
          </fields>
        </register>
        <register>
          <name>SETTRIG0</name>
          <description>Set Trigger control bits for all DMA channels.</description>
          <addressOffset>0x70</addressOffset>
          <size>32</size>
          <access>write-only</access>
          <resetValue>0</resetValue>
          <resetMask>0</resetMask>
          <fields>
            <field>
              <name>TRIG</name>
              <description>Set Trigger control bit for DMA channel 0. Bit n corresponds to DMA channel n. The number of bits = number of DMA channels in this device. Other bits are reserved. 0 = no effect. 1 = sets the TRIG bit for DMA channel n.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>32</bitWidth>
              <access>write-only</access>
            </field>
          </fields>
        </register>
        <register>
          <name>ABORT0</name>
          <description>Channel Abort control for all DMA channels.</description>
          <addressOffset>0x78</addressOffset>
          <size>32</size>
          <access>write-only</access>
          <resetValue>0</resetValue>
          <resetMask>0</resetMask>
          <fields>
            <field>
              <name>ABORTCTRL</name>
              <description>Abort control for DMA channel 0. Bit n corresponds to DMA channel n. 0 = no effect. 1 = aborts DMA operations on channel n.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>32</bitWidth>
              <access>write-only</access>
            </field>
          </fields>
        </register>
        <cluster>
          <dim>20</dim>
          <dimIncrement>0x10</dimIncrement>
          <name>CHANNEL[%s]</name>
          <description>no description available</description>
          <addressOffset>0x400</addressOffset>
          <register>
            <name>CFG</name>
            <description>Configuration register for DMA channel .</description>
            <addressOffset>0</addressOffset>
            <size>32</size>
            <access>read-write</access>
            <resetValue>0</resetValue>
            <resetMask>0x7CF73</resetMask>
            <fields>
              <field>
                <name>PERIPHREQEN</name>
                <description>Peripheral request Enable. If a DMA channel is used to perform a memory-to-memory move, any peripheral DMA request associated with that channel can be disabled to prevent any interaction between the peripheral and the DMA controller.</description>
                <bitOffset>0</bitOffset>
                <bitWidth>1</bitWidth>
                <access>read-write</access>
                <enumeratedValues>
                  <enumeratedValue>
                    <name>DISABLED</name>
                    <description>Disabled. Peripheral DMA requests are disabled.</description>
                    <value>0</value>
                  </enumeratedValue>
                  <enumeratedValue>
                    <name>ENABLED</name>
                    <description>Enabled. Peripheral DMA requests are enabled.</description>
                    <value>0x1</value>
                  </enumeratedValue>
                </enumeratedValues>
              </field>
              <field>
                <name>HWTRIGEN</name>
                <description>Hardware Triggering Enable for this channel.</description>
                <bitOffset>1</bitOffset>
                <bitWidth>1</bitWidth>
                <access>read-write</access>
                <enumeratedValues>
                  <enumeratedValue>
                    <name>DISABLED</name>
                    <description>Disabled. Hardware triggering is not used.</description>
                    <value>0</value>
                  </enumeratedValue>
                  <enumeratedValue>
                    <name>ENABLED</name>
                    <description>Enabled. Use hardware triggering.</description>
                    <value>0x1</value>
                  </enumeratedValue>
                </enumeratedValues>
              </field>
              <field>
                <name>TRIGPOL</name>
                <description>Trigger Polarity. Selects the polarity of a hardware trigger for this channel.</description>
                <bitOffset>4</bitOffset>
                <bitWidth>1</bitWidth>
                <access>read-write</access>
                <enumeratedValues>
                  <enumeratedValue>
                    <name>ACTIVE_LOW_FALLING</name>
                    <description>Active low - falling edge. Hardware trigger is active low or falling edge triggered, based on TRIGTYPE.</description>
                    <value>0</value>
                  </enumeratedValue>
                  <enumeratedValue>
                    <name>ACTIVE_HIGH_RISING</name>
                    <description>Active high - rising edge. Hardware trigger is active high or rising edge triggered, based on TRIGTYPE.</description>
                    <value>0x1</value>
                  </enumeratedValue>
                </enumeratedValues>
              </field>
              <field>
                <name>TRIGTYPE</name>
                <description>Trigger Type. Selects hardware trigger as edge triggered or level triggered.</description>
                <bitOffset>5</bitOffset>
                <bitWidth>1</bitWidth>
                <access>read-write</access>
                <enumeratedValues>
                  <enumeratedValue>
                    <name>EDGE</name>
                    <description>Edge. Hardware trigger is edge triggered. Transfers will be initiated and completed, as specified for a single trigger.</description>
                    <value>0</value>
                  </enumeratedValue>
                  <enumeratedValue>
                    <name>LEVEL</name>
                    <description>Level. Hardware trigger is level triggered. Note that when level triggering without burst (BURSTPOWER = 0) is selected, only hardware triggers should be used on that channel. Transfers continue as long as the trigger level is asserted. Once the trigger is de-asserted, the transfer will be paused until the trigger is, again, asserted. However, the transfer will not be paused until any remaining transfers within the current BURSTPOWER length are completed.</description>
                    <value>0x1</value>
                  </enumeratedValue>
                </enumeratedValues>
              </field>
              <field>
                <name>TRIGBURST</name>
                <description>Trigger Burst. Selects whether hardware triggers cause a single or burst transfer.</description>
                <bitOffset>6</bitOffset>
                <bitWidth>1</bitWidth>
                <access>read-write</access>
                <enumeratedValues>
                  <enumeratedValue>
                    <name>SINGLE</name>
                    <description>Single transfer. Hardware trigger causes a single transfer.</description>
                    <value>0</value>
                  </enumeratedValue>
                  <enumeratedValue>
                    <name>BURST</name>
                    <description>Burst transfer. When the trigger for this channel is set to edge triggered, a hardware trigger causes a burst transfer, as defined by BURSTPOWER. When the trigger for this channel is set to level triggered, a hardware trigger causes transfers to continue as long as the trigger is asserted, unless the transfer is complete.</description>
                    <value>0x1</value>
                  </enumeratedValue>
                </enumeratedValues>
              </field>
              <field>
                <name>BURSTPOWER</name>
                <description>Burst Power is used in two ways. It always selects the address wrap size when SRCBURSTWRAP and/or DSTBURSTWRAP modes are selected (see descriptions elsewhere in this register). When the TRIGBURST field elsewhere in this register = 1, Burst Power selects how many transfers are performed for each DMA trigger. This can be used, for example, with peripherals that contain a FIFO that can initiate a DMA operation when the FIFO reaches a certain level. 0000: Burst size = 1 (20). 0001: Burst size = 2 (21). 0010: Burst size = 4 (22). 1010: Burst size = 1024 (210). This corresponds to the maximum supported transfer count. others: not supported. The total transfer length as defined in the XFERCOUNT bits in the XFERCFG register must be an even multiple of the burst size.</description>
                <bitOffset>8</bitOffset>
                <bitWidth>4</bitWidth>
                <access>read-write</access>
              </field>
              <field>
                <name>SRCBURSTWRAP</name>
                <description>Source Burst Wrap. When enabled, the source data address for the DMA is 'wrapped', meaning that the source address range for each burst will be the same. As an example, this could be used to read several sequential registers from a peripheral for each DMA burst, reading the same registers again for each burst.</description>
                <bitOffset>14</bitOffset>
                <bitWidth>1</bitWidth>
                <access>read-write</access>
                <enumeratedValues>
                  <enumeratedValue>
                    <name>DISABLED</name>
                    <description>Disabled. Source burst wrapping is not enabled for this DMA channel.</description>
                    <value>0</value>
                  </enumeratedValue>
                  <enumeratedValue>
                    <name>ENABLED</name>
                    <description>Enabled. Source burst wrapping is enabled for this DMA channel.</description>
                    <value>0x1</value>
                  </enumeratedValue>
                </enumeratedValues>
              </field>
              <field>
                <name>DSTBURSTWRAP</name>
                <description>Destination Burst Wrap. When enabled, the destination data address for the DMA is 'wrapped', meaning that the destination address range for each burst will be the same. As an example, this could be used to write several sequential registers to a peripheral for each DMA burst, writing the same registers again for each burst.</description>
                <bitOffset>15</bitOffset>
                <bitWidth>1</bitWidth>
                <access>read-write</access>
                <enumeratedValues>
                  <enumeratedValue>
                    <name>DISABLED</name>
                    <description>Disabled. Destination burst wrapping is not enabled for this DMA channel.</description>
                    <value>0</value>
                  </enumeratedValue>
                  <enumeratedValue>
                    <name>ENABLED</name>
                    <description>Enabled. Destination burst wrapping is enabled for this DMA channel.</description>
                    <value>0x1</value>
                  </enumeratedValue>
                </enumeratedValues>
              </field>
              <field>
                <name>CHPRIORITY</name>
                <description>Priority of this channel when multiple DMA requests are pending. Eight priority levels are supported: 0x0 = highest priority. 0x7 = lowest priority.</description>
                <bitOffset>16</bitOffset>
                <bitWidth>3</bitWidth>
                <access>read-write</access>
              </field>
            </fields>
          </register>
          <register>
            <name>CTLSTAT</name>
            <description>Control and status register for DMA channel .</description>
            <addressOffset>0x4</addressOffset>
            <size>32</size>
            <access>read-only</access>
            <resetValue>0</resetValue>
            <resetMask>0x5</resetMask>
            <fields>
              <field>
                <name>VALIDPENDING</name>
                <description>Valid pending flag for this channel. This bit is set when a 1 is written to the corresponding bit in the related SETVALID register when CFGVALID = 1 for the same channel.</description>
                <bitOffset>0</bitOffset>
                <bitWidth>1</bitWidth>
                <access>read-only</access>
                <enumeratedValues>
                  <enumeratedValue>
                    <name>NO_EFFECT</name>
                    <description>No effect. No effect on DMA operation.</description>
                    <value>0</value>
                  </enumeratedValue>
                  <enumeratedValue>
                    <name>VALID_PENDING</name>
                    <description>Valid pending.</description>
                    <value>0x1</value>
                  </enumeratedValue>
                </enumeratedValues>
              </field>
              <field>
                <name>TRIG</name>
                <description>Trigger flag. Indicates that the trigger for this channel is currently set. This bit is cleared at the end of an entire transfer or upon reload when CLRTRIG = 1.</description>
                <bitOffset>2</bitOffset>
                <bitWidth>1</bitWidth>
                <access>read-only</access>
                <enumeratedValues>
                  <enumeratedValue>
                    <name>NOT_TRIGGERED</name>
                    <description>Not triggered. The trigger for this DMA channel is not set. DMA operations will not be carried out.</description>
                    <value>0</value>
                  </enumeratedValue>
                  <enumeratedValue>
                    <name>TRIGGERED</name>
                    <description>Triggered. The trigger for this DMA channel is set. DMA operations will be carried out.</description>
                    <value>0x1</value>
                  </enumeratedValue>
                </enumeratedValues>
              </field>
            </fields>
          </register>
          <register>
            <name>XFERCFG</name>
            <description>Transfer configuration register for DMA channel .</description>
            <addressOffset>0x8</addressOffset>
            <size>32</size>
            <access>read-write</access>
            <resetValue>0</resetValue>
            <resetMask>0x3FFF33F</resetMask>
            <fields>
              <field>
                <name>CFGVALID</name>
                <description>Configuration Valid flag. This bit indicates whether the current channel descriptor is valid and can potentially be acted upon, if all other activation criteria are fulfilled.</description>
                <bitOffset>0</bitOffset>
                <bitWidth>1</bitWidth>
                <access>read-write</access>
                <enumeratedValues>
                  <enumeratedValue>
                    <name>NOT_VALID</name>
                    <description>Not valid. The channel descriptor is not considered valid until validated by an associated SETVALID0 setting.</description>
                    <value>0</value>
                  </enumeratedValue>
                  <enumeratedValue>
                    <name>VALID</name>
                    <description>Valid. The current channel descriptor is considered valid.</description>
                    <value>0x1</value>
                  </enumeratedValue>
                </enumeratedValues>
              </field>
              <field>
                <name>RELOAD</name>
                <description>Indicates whether the channel's control structure will be reloaded when the current descriptor is exhausted. Reloading allows ping-pong and linked transfers.</description>
                <bitOffset>1</bitOffset>
                <bitWidth>1</bitWidth>
                <access>read-write</access>
                <enumeratedValues>
                  <enumeratedValue>
                    <name>DISABLED</name>
                    <description>Disabled. Do not reload the channels' control structure when the current descriptor is exhausted.</description>
                    <value>0</value>
                  </enumeratedValue>
                  <enumeratedValue>
                    <name>ENABLED</name>
                    <description>Enabled. Reload the channels' control structure when the current descriptor is exhausted.</description>
                    <value>0x1</value>
                  </enumeratedValue>
                </enumeratedValues>
              </field>
              <field>
                <name>SWTRIG</name>
                <description>Software Trigger.</description>
                <bitOffset>2</bitOffset>
                <bitWidth>1</bitWidth>
                <access>read-write</access>
                <enumeratedValues>
                  <enumeratedValue>
                    <name>NOT_SET</name>
                    <description>Not set. When written by software, the trigger for this channel is not set. A new trigger, as defined by the HWTRIGEN, TRIGPOL, and TRIGTYPE will be needed to start the channel.</description>
                    <value>0</value>
                  </enumeratedValue>
                  <enumeratedValue>
                    <name>SET</name>
                    <description>Set. When written by software, the trigger for this channel is set immediately. This feature should not be used with level triggering when TRIGBURST = 0.</description>
                    <value>0x1</value>
                  </enumeratedValue>
                </enumeratedValues>
              </field>
              <field>
                <name>CLRTRIG</name>
                <description>Clear Trigger.</description>
                <bitOffset>3</bitOffset>
                <bitWidth>1</bitWidth>
                <access>read-write</access>
                <enumeratedValues>
                  <enumeratedValue>
                    <name>NOT_CLEARED</name>
                    <description>Not cleared. The trigger is not cleared when this descriptor is exhausted. If there is a reload, the next descriptor will be started.</description>
                    <value>0</value>
                  </enumeratedValue>
                  <enumeratedValue>
                    <name>CLEARED</name>
                    <description>Cleared. The trigger is cleared when this descriptor is exhausted</description>
                    <value>0x1</value>
                  </enumeratedValue>
                </enumeratedValues>
              </field>
              <field>
                <name>SETINTA</name>
                <description>Set Interrupt flag A for this channel. There is no hardware distinction between interrupt A and B. They can be used by software to assist with more complex descriptor usage. By convention, interrupt A may be used when only one interrupt flag is needed.</description>
                <bitOffset>4</bitOffset>
                <bitWidth>1</bitWidth>
                <access>read-write</access>
                <enumeratedValues>
                  <enumeratedValue>
                    <name>NO_EFFECT</name>
                    <description>No effect.</description>
                    <value>0</value>
                  </enumeratedValue>
                  <enumeratedValue>
                    <name>SET</name>
                    <description>Set. The INTA flag for this channel will be set when the current descriptor is exhausted.</description>
                    <value>0x1</value>
                  </enumeratedValue>
                </enumeratedValues>
              </field>
              <field>
                <name>SETINTB</name>
                <description>Set Interrupt flag B for this channel. There is no hardware distinction between interrupt A and B. They can be used by software to assist with more complex descriptor usage. By convention, interrupt A may be used when only one interrupt flag is needed.</description>
                <bitOffset>5</bitOffset>
                <bitWidth>1</bitWidth>
                <access>read-write</access>
                <enumeratedValues>
                  <enumeratedValue>
                    <name>NO_EFFECT</name>
                    <description>No effect.</description>
                    <value>0</value>
                  </enumeratedValue>
                  <enumeratedValue>
                    <name>SET</name>
                    <description>Set. The INTB flag for this channel will be set when the current descriptor is exhausted.</description>
                    <value>0x1</value>
                  </enumeratedValue>
                </enumeratedValues>
              </field>
              <field>
                <name>WIDTH</name>
                <description>Transfer width used for this DMA channel.</description>
                <bitOffset>8</bitOffset>
                <bitWidth>2</bitWidth>
                <access>read-write</access>
                <enumeratedValues>
                  <enumeratedValue>
                    <name>BIT_8</name>
                    <description>8-bit. 8-bit transfers are performed (8-bit source reads and destination writes).</description>
                    <value>0</value>
                  </enumeratedValue>
                  <enumeratedValue>
                    <name>BIT_16</name>
                    <description>16-bit. 6-bit transfers are performed (16-bit source reads and destination writes).</description>
                    <value>0x1</value>
                  </enumeratedValue>
                  <enumeratedValue>
                    <name>BIT_32</name>
                    <description>32-bit. 32-bit transfers are performed (32-bit source reads and destination writes).</description>
                    <value>0x2</value>
                  </enumeratedValue>
                </enumeratedValues>
              </field>
              <field>
                <name>SRCINC</name>
                <description>Determines whether the source address is incremented for each DMA transfer.</description>
                <bitOffset>12</bitOffset>
                <bitWidth>2</bitWidth>
                <access>read-write</access>
                <enumeratedValues>
                  <enumeratedValue>
                    <name>NO_INCREMENT</name>
                    <description>No increment. The source address is not incremented for each transfer. This is the usual case when the source is a peripheral device.</description>
                    <value>0</value>
                  </enumeratedValue>
                  <enumeratedValue>
                    <name>WIDTH_X_1</name>
                    <description>1 x width. The source address is incremented by the amount specified by Width for each transfer. This is the usual case when the source is memory.</description>
                    <value>0x1</value>
                  </enumeratedValue>
                  <enumeratedValue>
                    <name>WIDTH_X_2</name>
                    <description>2 x width. The source address is incremented by 2 times the amount specified by Width for each transfer.</description>
                    <value>0x2</value>
                  </enumeratedValue>
                  <enumeratedValue>
                    <name>WIDTH_X_4</name>
                    <description>4 x width. The source address is incremented by 4 times the amount specified by Width for each transfer.</description>
                    <value>0x3</value>
                  </enumeratedValue>
                </enumeratedValues>
              </field>
              <field>
                <name>DSTINC</name>
                <description>Determines whether the destination address is incremented for each DMA transfer.</description>
                <bitOffset>14</bitOffset>
                <bitWidth>2</bitWidth>
                <access>read-write</access>
                <enumeratedValues>
                  <enumeratedValue>
                    <name>NO_INCREMENT</name>
                    <description>No increment. The destination address is not incremented for each transfer. This is the usual case when the destination is a peripheral device.</description>
                    <value>0</value>
                  </enumeratedValue>
                  <enumeratedValue>
                    <name>WIDTH_X_1</name>
                    <description>1 x width. The destination address is incremented by the amount specified by Width for each transfer. This is the usual case when the destination is memory.</description>
                    <value>0x1</value>
                  </enumeratedValue>
                  <enumeratedValue>
                    <name>WIDTH_X_2</name>
                    <description>2 x width. The destination address is incremented by 2 times the amount specified by Width for each transfer.</description>
                    <value>0x2</value>
                  </enumeratedValue>
                  <enumeratedValue>
                    <name>WIDTH_X_4</name>
                    <description>4 x width. The destination address is incremented by 4 times the amount specified by Width for each transfer.</description>
                    <value>0x3</value>
                  </enumeratedValue>
                </enumeratedValues>
              </field>
              <field>
                <name>XFERCOUNT</name>
                <description>Total number of transfers to be performed, minus 1 encoded. The number of bytes transferred is: (XFERCOUNT + 1) x data width (as defined by the WIDTH field). The DMA controller uses this bit field during transfer to count down. Hence, it cannot be used by software to read back the size of the transfer, for instance, in an interrupt handler. 0x0 = a total of 1 transfer will be performed. 0x1 = a total of 2 transfers will be performed. 0x3FF = a total of 1,024 transfers will be performed.</description>
                <bitOffset>16</bitOffset>
                <bitWidth>10</bitWidth>
                <access>read-write</access>
              </field>
            </fields>
          </register>
        </cluster>
      </registers>
    </peripheral>
    <peripheral>
      <name>USB0</name>
      <description>LPC51u68 USB 2.0 Device Controller</description>
      <groupName>USB</groupName>
      <baseAddress>0x40084000</baseAddress>
      <addressBlock>
        <offset>0</offset>
        <size>0x38</size>
        <usage>registers</usage>
      </addressBlock>
      <interrupt>
        <name>USB0_NEEDCLK</name>
        <value>27</value>
      </interrupt>
      <interrupt>
        <name>USB0</name>
        <value>28</value>
      </interrupt>
      <registers>
        <register>
          <name>DEVCMDSTAT</name>
          <description>USB Device Command/Status register</description>
          <addressOffset>0</addressOffset>
          <size>32</size>
          <access>read-write</access>
          <resetValue>0x800</resetValue>
          <resetMask>0x171BFBFF</resetMask>
          <fields>
            <field>
              <name>DEV_ADDR</name>
              <description>USB device address. After bus reset, the address is reset to 0x00. If the enable bit is set, the device will respond on packets for function address DEV_ADDR. When receiving a SetAddress Control Request from the USB host, software must program the new address before completing the status phase of the SetAddress Control Request.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>7</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>DEV_EN</name>
              <description>USB device enable. If this bit is set, the HW will start responding on packets for function address DEV_ADDR.</description>
              <bitOffset>7</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>SETUP</name>
              <description>SETUP token received. If a SETUP token is received and acknowledged by the device, this bit is set. As long as this bit is set all received IN and OUT tokens will be NAKed by HW. SW must clear this bit by writing a one. If this bit is zero, HW will handle the tokens to the CTRL EP0 as indicated by the CTRL EP0 IN and OUT data information programmed by SW.</description>
              <bitOffset>8</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>FORCE_NEEDCLK</name>
              <description>Forces the NEEDCLK output to always be on:</description>
              <bitOffset>9</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>NORMAL</name>
                  <description>USB_NEEDCLK has normal function.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALWAYS_ON</name>
                  <description>USB_NEEDCLK always 1. Clock will not be stopped in case of suspend.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>LPM_SUP</name>
              <description>LPM Supported:</description>
              <bitOffset>11</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>NO</name>
                  <description>LPM not supported.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>YES</name>
                  <description>LPM supported.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>INTONNAK_AO</name>
              <description>Interrupt on NAK for interrupt and bulk OUT EP</description>
              <bitOffset>12</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>DISABLED</name>
                  <description>Only acknowledged packets generate an interrupt</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ENABLED</name>
                  <description>Both acknowledged and NAKed packets generate interrupts.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>INTONNAK_AI</name>
              <description>Interrupt on NAK for interrupt and bulk IN EP</description>
              <bitOffset>13</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>DISABLED</name>
                  <description>Only acknowledged packets generate an interrupt</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ENABLED</name>
                  <description>Both acknowledged and NAKed packets generate interrupts.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>INTONNAK_CO</name>
              <description>Interrupt on NAK for control OUT EP</description>
              <bitOffset>14</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>DISABLED</name>
                  <description>Only acknowledged packets generate an interrupt</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ENABLED</name>
                  <description>Both acknowledged and NAKed packets generate interrupts.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>INTONNAK_CI</name>
              <description>Interrupt on NAK for control IN EP</description>
              <bitOffset>15</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>DISABLED</name>
                  <description>Only acknowledged packets generate an interrupt</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ENABLED</name>
                  <description>Both acknowledged and NAKed packets generate interrupts.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>DCON</name>
              <description>Device status - connect. The connect bit must be set by SW to indicate that the device must signal a connect. The pull-up resistor on USB_DP will be enabled when this bit is set and the VBUSDEBOUNCED bit is one.</description>
              <bitOffset>16</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>DSUS</name>
              <description>Device status - suspend. The suspend bit indicates the current suspend state. It is set to 1 when the device hasn't seen any activity on its upstream port for more than 3 milliseconds. It is reset to 0 on any activity. When the device is suspended (Suspend bit DSUS = 1) and the software writes a 0 to it, the device will generate a remote wake-up. This will only happen when the device is connected (Connect bit = 1). When the device is not connected or not suspended, a writing a 0 has no effect. Writing a 1 never has an effect.</description>
              <bitOffset>17</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>LPM_SUS</name>
              <description>Device status - LPM Suspend. This bit represents the current LPM suspend state. It is set to 1 by HW when the device has acknowledged the LPM request from the USB host and the Token Retry Time of 10 ms has elapsed. When the device is in the LPM suspended state (LPM suspend bit = 1) and the software writes a zero to this bit, the device will generate a remote walk-up. Software can only write a zero to this bit when the LPM_REWP bit is set to 1. HW resets this bit when it receives a host initiated resume. HW only updates the LPM_SUS bit when the LPM_SUPP bit is equal to one.</description>
              <bitOffset>19</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>LPM_REWP</name>
              <description>LPM Remote Wake-up Enabled by USB host. HW sets this bit to one when the bRemoteWake bit in the LPM extended token is set to 1. HW will reset this bit to 0 when it receives the host initiated LPM resume, when a remote wake-up is sent by the device or when a USB bus reset is received. Software can use this bit to check if the remote wake-up feature is enabled by the host for the LPM transaction.</description>
              <bitOffset>20</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
            </field>
            <field>
              <name>DCON_C</name>
              <description>Device status - connect change. The Connect Change bit is set when the device's pull-up resistor is disconnected because VBus disappeared. The bit is reset by writing a one to it.</description>
              <bitOffset>24</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>DSUS_C</name>
              <description>Device status - suspend change. The suspend change bit is set to 1 when the suspend bit toggles. The suspend bit can toggle because: - The device goes in the suspended state - The device is disconnected - The device receives resume signaling on its upstream port. The bit is reset by writing a one to it.</description>
              <bitOffset>25</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>DRES_C</name>
              <description>Device status - reset change. This bit is set when the device received a bus reset. On a bus reset the device will automatically go to the default state (unconfigured and responding to address 0). The bit is reset by writing a one to it.</description>
              <bitOffset>26</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>VBUSDEBOUNCED</name>
              <description>This bit indicates if Vbus is detected or not. The bit raises immediately when Vbus becomes high. It drops to zero if Vbus is low for at least 3 ms. If this bit is high and the DCon bit is set, the HW will enable the pull-up resistor to signal a connect.</description>
              <bitOffset>28</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
            </field>
          </fields>
        </register>
        <register>
          <name>INFO</name>
          <description>USB Info register</description>
          <addressOffset>0x4</addressOffset>
          <size>32</size>
          <access>read-write</access>
          <resetValue>0</resetValue>
          <resetMask>0x7FFF</resetMask>
          <fields>
            <field>
              <name>FRAME_NR</name>
              <description>Frame number. This contains the frame number of the last successfully received SOF. In case no SOF was received by the device at the beginning of a frame, the frame number returned is that of the last successfully received SOF. In case the SOF frame number contained a CRC error, the frame number returned will be the corrupted frame number as received by the device.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>11</bitWidth>
              <access>read-only</access>
            </field>
            <field>
              <name>ERR_CODE</name>
              <description>The error code which last occurred:</description>
              <bitOffset>11</bitOffset>
              <bitWidth>4</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>NO_ERROR</name>
                  <description>No error</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>PID_ENCODING_ERROR</name>
                  <description>PID encoding error</description>
                  <value>0x1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>PID_UNKNOWN</name>
                  <description>PID unknown</description>
                  <value>0x2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>PACKET_UNEXPECTED</name>
                  <description>Packet unexpected</description>
                  <value>0x3</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>TOKEN_CRC_ERROR</name>
                  <description>Token CRC error</description>
                  <value>0x4</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>DATA_CRC_ERROR</name>
                  <description>Data CRC error</description>
                  <value>0x5</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>TIMEOUT</name>
                  <description>Time out</description>
                  <value>0x6</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>BABBLE</name>
                  <description>Babble</description>
                  <value>0x7</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>TRUNCATED_EOP</name>
                  <description>Truncated EOP</description>
                  <value>0x8</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>SENT_RECEIVED_NAK</name>
                  <description>Sent/Received NAK</description>
                  <value>0x9</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>SENT_STALL</name>
                  <description>Sent Stall</description>
                  <value>0xA</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>OVERRUN</name>
                  <description>Overrun</description>
                  <value>0xB</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>SENT_EMPTY_PACKET</name>
                  <description>Sent empty packet</description>
                  <value>0xC</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>BITSTUFF_ERROR</name>
                  <description>Bitstuff error</description>
                  <value>0xD</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>SYNC_ERROR</name>
                  <description>Sync error</description>
                  <value>0xE</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>WRONG_DATA_TOGGLE</name>
                  <description>Wrong data toggle</description>
                  <value>0xF</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>EPLISTSTART</name>
          <description>USB EP Command/Status List start address</description>
          <addressOffset>0x8</addressOffset>
          <size>32</size>
          <access>read-write</access>
          <resetValue>0</resetValue>
          <resetMask>0xFFFFFF00</resetMask>
          <fields>
            <field>
              <name>EP_LIST</name>
              <description>Start address of the USB EP Command/Status List.</description>
              <bitOffset>8</bitOffset>
              <bitWidth>24</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>DATABUFSTART</name>
          <description>USB Data buffer start address</description>
          <addressOffset>0xC</addressOffset>
          <size>32</size>
          <access>read-write</access>
          <resetValue>0</resetValue>
          <resetMask>0xFFC00000</resetMask>
          <fields>
            <field>
              <name>DA_BUF</name>
              <description>Start address of the buffer pointer page where all endpoint data buffers are located.</description>
              <bitOffset>22</bitOffset>
              <bitWidth>10</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>LPM</name>
          <description>USB Link Power Management register</description>
          <addressOffset>0x10</addressOffset>
          <size>32</size>
          <access>read-write</access>
          <resetValue>0</resetValue>
          <resetMask>0x1FF</resetMask>
          <fields>
            <field>
              <name>HIRD_HW</name>
              <description>Host Initiated Resume Duration - HW. This is the HIRD value from the last received LPM token</description>
              <bitOffset>0</bitOffset>
              <bitWidth>4</bitWidth>
              <access>read-only</access>
            </field>
            <field>
              <name>HIRD_SW</name>
              <description>Host Initiated Resume Duration - SW. This is the time duration required by the USB device system to come out of LPM initiated suspend after receiving the host initiated LPM resume.</description>
              <bitOffset>4</bitOffset>
              <bitWidth>4</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>DATA_PENDING</name>
              <description>As long as this bit is set to one and LPM supported bit is set to one, HW will return a NYET handshake on every LPM token it receives. If LPM supported bit is set to one and this bit is zero, HW will return an ACK handshake on every LPM token it receives. If SW has still data pending and LPM is supported, it must set this bit to 1.</description>
              <bitOffset>8</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>EPSKIP</name>
          <description>USB Endpoint skip</description>
          <addressOffset>0x14</addressOffset>
          <size>32</size>
          <access>read-write</access>
          <resetValue>0</resetValue>
          <resetMask>0x3FFFFFFF</resetMask>
          <fields>
            <field>
              <name>SKIP</name>
              <description>Endpoint skip: Writing 1 to one of these bits, will indicate to HW that it must deactivate the buffer assigned to this endpoint and return control back to software. When HW has deactivated the endpoint, it will clear this bit, but it will not modify the EPINUSE bit. An interrupt will be generated when the Active bit goes from 1 to 0. Note: In case of double-buffering, HW will only clear the Active bit of the buffer indicated by the EPINUSE bit.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>30</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>EPINUSE</name>
          <description>USB Endpoint Buffer in use</description>
          <addressOffset>0x18</addressOffset>
          <size>32</size>
          <access>read-write</access>
          <resetValue>0</resetValue>
          <resetMask>0x3FC</resetMask>
          <fields>
            <field>
              <name>BUF</name>
              <description>Buffer in use: This register has one bit per physical endpoint. 0: HW is accessing buffer 0. 1: HW is accessing buffer 1.</description>
              <bitOffset>2</bitOffset>
              <bitWidth>8</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>EPBUFCFG</name>
          <description>USB Endpoint Buffer Configuration register</description>
          <addressOffset>0x1C</addressOffset>
          <size>32</size>
          <access>read-write</access>
          <resetValue>0</resetValue>
          <resetMask>0x3FC</resetMask>
          <fields>
            <field>
              <name>BUF_SB</name>
              <description>Buffer usage: This register has one bit per physical endpoint. 0: Single-buffer. 1: Double-buffer. If the bit is set to single-buffer (0), it will not toggle the corresponding EPINUSE bit when it clears the active bit. If the bit is set to double-buffer (1), HW will toggle the EPINUSE bit when it clears the Active bit for the buffer.</description>
              <bitOffset>2</bitOffset>
              <bitWidth>8</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>INTSTAT</name>
          <description>USB interrupt status register</description>
          <addressOffset>0x20</addressOffset>
          <size>32</size>
          <access>read-write</access>
          <resetValue>0</resetValue>
          <resetMask>0xC00003FF</resetMask>
          <fields>
            <field>
              <name>EP0OUT</name>
              <description>Interrupt status register bit for the Control EP0 OUT direction. This bit will be set if NBytes transitions to zero or the skip bit is set by software or a SETUP packet is successfully received for the control EP0. If the IntOnNAK_CO is set, this bit will also be set when a NAK is transmitted for the Control EP0 OUT direction. Software can clear this bit by writing a one to it.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>EP0IN</name>
              <description>Interrupt status register bit for the Control EP0 IN direction. This bit will be set if NBytes transitions to zero or the skip bit is set by software. If the IntOnNAK_CI is set, this bit will also be set when a NAK is transmitted for the Control EP0 IN direction. Software can clear this bit by writing a one to it.</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>EP1OUT</name>
              <description>Interrupt status register bit for the EP1 OUT direction. This bit will be set if the corresponding Active bit is cleared by HW. This is done in case the programmed NBytes transitions to zero or the skip bit is set by software. If the IntOnNAK_AO is set, this bit will also be set when a NAK is transmitted for the EP1 OUT direction. Software can clear this bit by writing a one to it.</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>EP1IN</name>
              <description>Interrupt status register bit for the EP1 IN direction. This bit will be set if the corresponding Active bit is cleared by HW. This is done in case the programmed NBytes transitions to zero or the skip bit is set by software. If the IntOnNAK_AI is set, this bit will also be set when a NAK is transmitted for the EP1 IN direction. Software can clear this bit by writing a one to it.</description>
              <bitOffset>3</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>EP2OUT</name>
              <description>Interrupt status register bit for the EP2 OUT direction. This bit will be set if the corresponding Active bit is cleared by HW. This is done in case the programmed NBytes transitions to zero or the skip bit is set by software. If the IntOnNAK_AO is set, this bit will also be set when a NAK is transmitted for the EP2 OUT direction. Software can clear this bit by writing a one to it.</description>
              <bitOffset>4</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>EP2IN</name>
              <description>Interrupt status register bit for the EP2 IN direction. This bit will be set if the corresponding Active bit is cleared by HW. This is done in case the programmed NBytes transitions to zero or the skip bit is set by software. If the IntOnNAK_AI is set, this bit will also be set when a NAK is transmitted for the EP2 IN direction. Software can clear this bit by writing a one to it.</description>
              <bitOffset>5</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>EP3OUT</name>
              <description>Interrupt status register bit for the EP3 OUT direction. This bit will be set if the corresponding Active bit is cleared by HW. This is done in case the programmed NBytes transitions to zero or the skip bit is set by software. If the IntOnNAK_AO is set, this bit will also be set when a NAK is transmitted for the EP3 OUT direction. Software can clear this bit by writing a one to it.</description>
              <bitOffset>6</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>EP3IN</name>
              <description>Interrupt status register bit for the EP3 IN direction. This bit will be set if the corresponding Active bit is cleared by HW. This is done in case the programmed NBytes transitions to zero or the skip bit is set by software. If the IntOnNAK_AI is set, this bit will also be set when a NAK is transmitted for the EP3 IN direction. Software can clear this bit by writing a one to it.</description>
              <bitOffset>7</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>EP4OUT</name>
              <description>Interrupt status register bit for the EP4 OUT direction. This bit will be set if the corresponding Active bit is cleared by HW. This is done in case the programmed NBytes transitions to zero or the skip bit is set by software. If the IntOnNAK_AO is set, this bit will also be set when a NAK is transmitted for the EP4 OUT direction. Software can clear this bit by writing a one to it.</description>
              <bitOffset>8</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>EP4IN</name>
              <description>Interrupt status register bit for the EP4 IN direction. This bit will be set if the corresponding Active bit is cleared by HW. This is done in case the programmed NBytes transitions to zero or the skip bit is set by software. If the IntOnNAK_AI is set, this bit will also be set when a NAK is transmitted for the EP4 IN direction. Software can clear this bit by writing a one to it.</description>
              <bitOffset>9</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>FRAME_INT</name>
              <description>Frame interrupt. This bit is set to one every millisecond when the VbusDebounced bit and the DCON bit are set. This bit can be used by software when handling isochronous endpoints. Software can clear this bit by writing a one to it.</description>
              <bitOffset>30</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>DEV_INT</name>
              <description>Device status interrupt. This bit is set by HW when one of the bits in the Device Status Change register are set. Software can clear this bit by writing a one to it.</description>
              <bitOffset>31</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>INTEN</name>
          <description>USB interrupt enable register</description>
          <addressOffset>0x24</addressOffset>
          <size>32</size>
          <access>read-write</access>
          <resetValue>0</resetValue>
          <resetMask>0xC00003FF</resetMask>
          <fields>
            <field>
              <name>EP_INT_EN</name>
              <description>If this bit is set and the corresponding USB interrupt status bit is set, a HW interrupt is generated on the interrupt line indicated by the corresponding USB interrupt routing bit.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>10</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>FRAME_INT_EN</name>
              <description>If this bit is set and the corresponding USB interrupt status bit is set, a HW interrupt is generated on the interrupt line indicated by the corresponding USB interrupt routing bit.</description>
              <bitOffset>30</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>DEV_INT_EN</name>
              <description>If this bit is set and the corresponding USB interrupt status bit is set, a HW interrupt is generated on the interrupt line indicated by the corresponding USB interrupt routing bit.</description>
              <bitOffset>31</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>INTSETSTAT</name>
          <description>USB set interrupt status register</description>
          <addressOffset>0x28</addressOffset>
          <size>32</size>
          <access>read-write</access>
          <resetValue>0</resetValue>
          <resetMask>0xC00003FF</resetMask>
          <fields>
            <field>
              <name>EP_SET_INT</name>
              <description>If software writes a one to one of these bits, the corresponding USB interrupt status bit is set. When this register is read, the same value as the USB interrupt status register is returned.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>10</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>FRAME_SET_INT</name>
              <description>If software writes a one to one of these bits, the corresponding USB interrupt status bit is set. When this register is read, the same value as the USB interrupt status register is returned.</description>
              <bitOffset>30</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>DEV_SET_INT</name>
              <description>If software writes a one to one of these bits, the corresponding USB interrupt status bit is set. When this register is read, the same value as the USB interrupt status register is returned.</description>
              <bitOffset>31</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>EPTOGGLE</name>
          <description>USB Endpoint toggle register</description>
          <addressOffset>0x34</addressOffset>
          <size>32</size>
          <access>read-only</access>
          <resetValue>0</resetValue>
          <resetMask>0x3FF</resetMask>
          <fields>
            <field>
              <name>TOGGLE</name>
              <description>Endpoint data toggle: This field indicates the current value of the data toggle for the corresponding endpoint.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>10</bitWidth>
              <access>read-only</access>
            </field>
          </fields>
        </register>
      </registers>
    </peripheral>
    <peripheral>
      <name>SCT0</name>
      <description>LPC51u68 SCTimer/PWM (SCT)</description>
      <groupName>SCT</groupName>
      <baseAddress>0x40085000</baseAddress>
      <addressBlock>
        <offset>0</offset>
        <size>0x540</size>
        <usage>registers</usage>
      </addressBlock>
      <interrupt>
        <name>SCT0</name>
        <value>12</value>
      </interrupt>
      <registers>
        <register>
          <name>CONFIG</name>
          <description>SCT configuration register</description>
          <addressOffset>0</addressOffset>
          <size>32</size>
          <access>read-write</access>
          <resetValue>0x1E00</resetValue>
          <resetMask>0x61FFF</resetMask>
          <fields>
            <field>
              <name>UNIFY</name>
              <description>SCT operation</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>DUAL_COUNTER</name>
                  <description>The SCT operates as two 16-bit counters named COUNTER_L and COUNTER_H.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>UNIFIED_COUNTER</name>
                  <description>The SCT operates as a unified 32-bit counter.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>CLKMODE</name>
              <description>SCT clock mode</description>
              <bitOffset>1</bitOffset>
              <bitWidth>2</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>SYSTEM_CLOCK_MODE</name>
                  <description>System Clock Mode. The system clock clocks the entire SCT module including the counter(s) and counter prescalers.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>SAMPLED_SYSTEM_CLOCK_MODE</name>
                  <description>Sampled System Clock Mode. The system clock clocks the SCT module, but the counter and prescalers are only enabled to count when the designated edge is detected on the input selected by the CKSEL field. The minimum pulse width on the selected clock-gate input is 1 bus clock period. This mode is the high-performance, sampled-clock mode.</description>
                  <value>0x1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>SCT_INPUT_CLOCK_MODE</name>
                  <description>SCT Input Clock Mode. The input/edge selected by the CKSEL field clocks the SCT module, including the counters and prescalers, after first being synchronized to the system clock. The minimum pulse width on the clock input is 1 bus clock period. This mode is the low-power, sampled-clock mode.</description>
                  <value>0x2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ASYNCHRONOUS_MODE</name>
                  <description>Asynchronous Mode. The entire SCT module is clocked directly by the input/edge selected by the CKSEL field. In this mode, the SCT outputs are switched synchronously to the SCT input clock - not the system clock. The input clock rate must be at least half the system clock rate and can be the same or faster than the system clock.</description>
                  <value>0x3</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>CKSEL</name>
              <description>SCT clock select. The specific functionality of the designated input/edge is dependent on the CLKMODE bit selection in this register.</description>
              <bitOffset>3</bitOffset>
              <bitWidth>4</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>INPUT_0_RISING_EDGES</name>
                  <description>Rising edges on input 0.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>INPUT_0_FALLING_EDGE</name>
                  <description>Falling edges on input 0.</description>
                  <value>0x1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>INPUT_1_RISING_EDGES</name>
                  <description>Rising edges on input 1.</description>
                  <value>0x2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>INPUT_1_FALLING_EDGE</name>
                  <description>Falling edges on input 1.</description>
                  <value>0x3</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>INPUT_2_RISING_EDGES</name>
                  <description>Rising edges on input 2.</description>
                  <value>0x4</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>INPUT_2_FALLING_EDGE</name>
                  <description>Falling edges on input 2.</description>
                  <value>0x5</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>INPUT_3_RISING_EDGES</name>
                  <description>Rising edges on input 3.</description>
                  <value>0x6</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>INPUT_3_FALLING_EDGE</name>
                  <description>Falling edges on input 3.</description>
                  <value>0x7</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>NORELAOD_L</name>
              <description>A 1 in this bit prevents the lower match registers from being reloaded from their respective reload registers. Setting this bit eliminates the need to write to the reload registers MATCHREL if the match values are fixed. Software can write to set or clear this bit at any time. This bit applies to both the higher and lower registers when the UNIFY bit is set.</description>
              <bitOffset>7</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>NORELOAD_H</name>
              <description>A 1 in this bit prevents the higher match registers from being reloaded from their respective reload registers. Setting this bit eliminates the need to write to the reload registers MATCHREL if the match values are fixed. Software can write to set or clear this bit at any time. This bit is not used when the UNIFY bit is set.</description>
              <bitOffset>8</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>INSYNC</name>
              <description>Synchronization for input N (bit 9 = input 0, bit 10 = input 1,, bit 12 = input 3); all other bits are reserved. A 1 in one of these bits subjects the corresponding input to synchronization to the SCT clock, before it is used to create an event. If an input is known to already be synchronous to the SCT clock, this bit may be set to 0 for faster input response. (Note: The SCT clock is the system clock for CKMODEs 0-2. It is the selected, asynchronous SCT input clock for CKMODE3). Note that the INSYNC field only affects inputs used for event generation. It does not apply to the clock input specified in the CKSEL field.</description>
              <bitOffset>9</bitOffset>
              <bitWidth>4</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>AUTOLIMIT_L</name>
              <description>A one in this bit causes a match on match register 0 to be treated as a de-facto LIMIT condition without the need to define an associated event. As with any LIMIT event, this automatic limit causes the counter to be cleared to zero in unidirectional mode or to change the direction of count in bi-directional mode. Software can write to set or clear this bit at any time. This bit applies to both the higher and lower registers when the UNIFY bit is set.</description>
              <bitOffset>17</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>AUTOLIMIT_H</name>
              <description>A one in this bit will cause a match on match register 0 to be treated as a de-facto LIMIT condition without the need to define an associated event. As with any LIMIT event, this automatic limit causes the counter to be cleared to zero in unidirectional mode or to change the direction of count in bi-directional mode. Software can write to set or clear this bit at any time. This bit is not used when the UNIFY bit is set.</description>
              <bitOffset>18</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>CTRL</name>
          <description>SCT control register</description>
          <addressOffset>0x4</addressOffset>
          <size>32</size>
          <access>read-write</access>
          <resetValue>0x40004</resetValue>
          <resetMask>0x1FFF1FFF</resetMask>
          <fields>
            <field>
              <name>DOWN_L</name>
              <description>This bit is 1 when the L or unified counter is counting down. Hardware sets this bit when the counter is counting up, counter limit occurs, and BIDIR = 1.Hardware clears this bit when the counter is counting down and a limit condition occurs or when the counter reaches 0.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>STOP_L</name>
              <description>When this bit is 1 and HALT is 0, the L or unified counter does not run, but I/O events related to the counter can occur. If a designated start event occurs, this bit is cleared and counting resumes.</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>HALT_L</name>
              <description>When this bit is 1, the L or unified counter does not run and no events can occur. A reset sets this bit. When the HALT_L bit is one, the STOP_L bit is cleared. It is possible to remove the halt condition while keeping the SCT in the stop condition (not running) with a single write to this register to simultaneously clear the HALT bit and set the STOP bit. Once set, only software can clear this bit to restore counter operation. This bit is set on reset.</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>CLRCTR_L</name>
              <description>Writing a 1 to this bit clears the L or unified counter. This bit always reads as 0.</description>
              <bitOffset>3</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>BIDIR_L</name>
              <description>L or unified counter direction select</description>
              <bitOffset>4</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>UP</name>
                  <description>Up. The counter counts up to a limit condition, then is cleared to zero.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>UP_DOWN</name>
                  <description>Up-down. The counter counts up to a limit, then counts down to a limit condition or to 0.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>PRE_L</name>
              <description>Specifies the factor by which the SCT clock is prescaled to produce the L or unified counter clock. The counter clock is clocked at the rate of the SCT clock divided by PRE_L+1. Clear the counter (by writing a 1 to the CLRCTR bit) whenever changing the PRE value.</description>
              <bitOffset>5</bitOffset>
              <bitWidth>8</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>DOWN_H</name>
              <description>This bit is 1 when the H counter is counting down. Hardware sets this bit when the counter is counting, a counter limit condition occurs, and BIDIR is 1. Hardware clears this bit when the counter is counting down and a limit condition occurs or when the counter reaches 0.</description>
              <bitOffset>16</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>STOP_H</name>
              <description>When this bit is 1 and HALT is 0, the H counter does not, run but I/O events related to the counter can occur. If such an event matches the mask in the Start register, this bit is cleared and counting resumes.</description>
              <bitOffset>17</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>HALT_H</name>
              <description>When this bit is 1, the H counter does not run and no events can occur. A reset sets this bit. When the HALT_H bit is one, the STOP_H bit is cleared. It is possible to remove the halt condition while keeping the SCT in the stop condition (not running) with a single write to this register to simultaneously clear the HALT bit and set the STOP bit. Once set, this bit can only be cleared by software to restore counter operation. This bit is set on reset.</description>
              <bitOffset>18</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>CLRCTR_H</name>
              <description>Writing a 1 to this bit clears the H counter. This bit always reads as 0.</description>
              <bitOffset>19</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>BIDIR_H</name>
              <description>Direction select</description>
              <bitOffset>20</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>UP</name>
                  <description>The H counter counts up to its limit condition, then is cleared to zero.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>UP_DOWN</name>
                  <description>The H counter counts up to its limit, then counts down to a limit condition or to 0.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>PRE_H</name>
              <description>Specifies the factor by which the SCT clock is prescaled to produce the H counter clock. The counter clock is clocked at the rate of the SCT clock divided by PRELH+1. Clear the counter (by writing a 1 to the CLRCTR bit) whenever changing the PRE value.</description>
              <bitOffset>21</bitOffset>
              <bitWidth>8</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>LIMIT</name>
          <description>SCT limit event select register</description>
          <addressOffset>0x8</addressOffset>
          <size>32</size>
          <access>read-write</access>
          <resetValue>0</resetValue>
          <resetMask>0xFFFFFFFF</resetMask>
          <fields>
            <field>
              <name>LIMMSK_L</name>
              <description>If bit n is one, event n is used as a counter limit for the L or unified counter (event 0 = bit 0, event 1 = bit 1, etc.). The number of bits = number of events in this SCT.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>16</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>LIMMSK_H</name>
              <description>If bit n is one, event n is used as a counter limit for the H counter (event 0 = bit 16, event 1 = bit 17, etc.). The number of bits = number of events in this SCT.</description>
              <bitOffset>16</bitOffset>
              <bitWidth>16</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>HALT</name>
          <description>SCT halt event select register</description>
          <addressOffset>0xC</addressOffset>
          <size>32</size>
          <access>read-write</access>
          <resetValue>0</resetValue>
          <resetMask>0xFFFFFFFF</resetMask>
          <fields>
            <field>
              <name>HALTMSK_L</name>
              <description>If bit n is one, event n sets the HALT_L bit in the CTRL register (event 0 = bit 0, event 1 = bit 1, etc.). The number of bits = number of events in this SCT.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>16</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>HALTMSK_H</name>
              <description>If bit n is one, event n sets the HALT_H bit in the CTRL register (event 0 = bit 16, event 1 = bit 17, etc.). The number of bits = number of events in this SCT.</description>
              <bitOffset>16</bitOffset>
              <bitWidth>16</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>STOP</name>
          <description>SCT stop event select register</description>
          <addressOffset>0x10</addressOffset>
          <size>32</size>
          <access>read-write</access>
          <resetValue>0</resetValue>
          <resetMask>0xFFFFFFFF</resetMask>
          <fields>
            <field>
              <name>STOPMSK_L</name>
              <description>If bit n is one, event n sets the STOP_L bit in the CTRL register (event 0 = bit 0, event 1 = bit 1, etc.). The number of bits = number of events in this SCT.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>16</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>STOPMSK_H</name>
              <description>If bit n is one, event n sets the STOP_H bit in the CTRL register (event 0 = bit 16, event 1 = bit 17, etc.). The number of bits = number of events in this SCT.</description>
              <bitOffset>16</bitOffset>
              <bitWidth>16</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>START</name>
          <description>SCT start event select register</description>
          <addressOffset>0x14</addressOffset>
          <size>32</size>
          <access>read-write</access>
          <resetValue>0</resetValue>
          <resetMask>0xFFFFFFFF</resetMask>
          <fields>
            <field>
              <name>STARTMSK_L</name>
              <description>If bit n is one, event n clears the STOP_L bit in the CTRL register (event 0 = bit 0, event 1 = bit 1, etc.). The number of bits = number of events in this SCT.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>16</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>STARTMSK_H</name>
              <description>If bit n is one, event n clears the STOP_H bit in the CTRL register (event 0 = bit 16, event 1 = bit 17, etc.). The number of bits = number of events in this SCT.</description>
              <bitOffset>16</bitOffset>
              <bitWidth>16</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>COUNT</name>
          <description>SCT counter register</description>
          <addressOffset>0x40</addressOffset>
          <size>32</size>
          <access>read-write</access>
          <resetValue>0</resetValue>
          <resetMask>0xFFFFFFFF</resetMask>
          <fields>
            <field>
              <name>CTR_L</name>
              <description>When UNIFY = 0, read or write the 16-bit L counter value. When UNIFY = 1, read or write the lower 16 bits of the 32-bit unified counter.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>16</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>CTR_H</name>
              <description>When UNIFY = 0, read or write the 16-bit H counter value. When UNIFY = 1, read or write the upper 16 bits of the 32-bit unified counter.</description>
              <bitOffset>16</bitOffset>
              <bitWidth>16</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>STATE</name>
          <description>SCT state register</description>
          <addressOffset>0x44</addressOffset>
          <size>32</size>
          <access>read-write</access>
          <resetValue>0</resetValue>
          <resetMask>0x1F001F</resetMask>
          <fields>
            <field>
              <name>STATE_L</name>
              <description>State variable.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>5</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>STATE_H</name>
              <description>State variable.</description>
              <bitOffset>16</bitOffset>
              <bitWidth>5</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>INPUT</name>
          <description>SCT input register</description>
          <addressOffset>0x48</addressOffset>
          <size>32</size>
          <access>read-only</access>
          <resetValue>0</resetValue>
          <resetMask>0xFFFFFFFF</resetMask>
          <fields>
            <field>
              <name>AIN0</name>
              <description>Input 0 state. Input 0 state on the last SCT clock edge.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
            </field>
            <field>
              <name>AIN1</name>
              <description>Input 1 state. Input 1 state on the last SCT clock edge.</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
            </field>
            <field>
              <name>AIN2</name>
              <description>Input 2 state. Input 2 state on the last SCT clock edge.</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
            </field>
            <field>
              <name>AIN3</name>
              <description>Input 3 state. Input 3 state on the last SCT clock edge.</description>
              <bitOffset>3</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
            </field>
            <field>
              <name>AIN4</name>
              <description>Input 4 state. Input 4 state on the last SCT clock edge.</description>
              <bitOffset>4</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
            </field>
            <field>
              <name>AIN5</name>
              <description>Input 5 state. Input 5 state on the last SCT clock edge.</description>
              <bitOffset>5</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
            </field>
            <field>
              <name>AIN6</name>
              <description>Input 6 state. Input 6 state on the last SCT clock edge.</description>
              <bitOffset>6</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
            </field>
            <field>
              <name>AIN7</name>
              <description>Input 7 state. Input 7 state on the last SCT clock edge.</description>
              <bitOffset>7</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
            </field>
            <field>
              <name>AIN8</name>
              <description>Input 8 state. Input 8 state on the last SCT clock edge.</description>
              <bitOffset>8</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
            </field>
            <field>
              <name>AIN9</name>
              <description>Input 9 state. Input 9 state on the last SCT clock edge.</description>
              <bitOffset>9</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
            </field>
            <field>
              <name>AIN10</name>
              <description>Input 10 state. Input 10 state on the last SCT clock edge.</description>
              <bitOffset>10</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
            </field>
            <field>
              <name>AIN11</name>
              <description>Input 11 state. Input 11 state on the last SCT clock edge.</description>
              <bitOffset>11</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
            </field>
            <field>
              <name>AIN12</name>
              <description>Input 12 state. Input 12 state on the last SCT clock edge.</description>
              <bitOffset>12</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
            </field>
            <field>
              <name>AIN13</name>
              <description>Input 13 state. Input 13 state on the last SCT clock edge.</description>
              <bitOffset>13</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
            </field>
            <field>
              <name>AIN14</name>
              <description>Input 14 state. Input 14 state on the last SCT clock edge.</description>
              <bitOffset>14</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
            </field>
            <field>
              <name>AIN15</name>
              <description>Input 15 state. Input 15 state on the last SCT clock edge.</description>
              <bitOffset>15</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
            </field>
            <field>
              <name>SIN0</name>
              <description>Input 0 state. Input 0 state following the synchronization specified by INSYNC.</description>
              <bitOffset>16</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
            </field>
            <field>
              <name>SIN1</name>
              <description>Input 1 state. Input 1 state following the synchronization specified by INSYNC.</description>
              <bitOffset>17</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
            </field>
            <field>
              <name>SIN2</name>
              <description>Input 2 state. Input 2 state following the synchronization specified by INSYNC.</description>
              <bitOffset>18</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
            </field>
            <field>
              <name>SIN3</name>
              <description>Input 3 state. Input 3 state following the synchronization specified by INSYNC.</description>
              <bitOffset>19</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
            </field>
            <field>
              <name>SIN4</name>
              <description>Input 4 state. Input 4 state following the synchronization specified by INSYNC.</description>
              <bitOffset>20</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
            </field>
            <field>
              <name>SIN5</name>
              <description>Input 5 state. Input 5 state following the synchronization specified by INSYNC.</description>
              <bitOffset>21</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
            </field>
            <field>
              <name>SIN6</name>
              <description>Input 6 state. Input 6 state following the synchronization specified by INSYNC.</description>
              <bitOffset>22</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
            </field>
            <field>
              <name>SIN7</name>
              <description>Input 7 state. Input 7 state following the synchronization specified by INSYNC.</description>
              <bitOffset>23</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
            </field>
            <field>
              <name>SIN8</name>
              <description>Input 8 state. Input 8 state following the synchronization specified by INSYNC.</description>
              <bitOffset>24</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
            </field>
            <field>
              <name>SIN9</name>
              <description>Input 9 state. Input 9 state following the synchronization specified by INSYNC.</description>
              <bitOffset>25</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
            </field>
            <field>
              <name>SIN10</name>
              <description>Input 10 state. Input 10 state following the synchronization specified by INSYNC.</description>
              <bitOffset>26</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
            </field>
            <field>
              <name>SIN11</name>
              <description>Input 11 state. Input 11 state following the synchronization specified by INSYNC.</description>
              <bitOffset>27</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
            </field>
            <field>
              <name>SIN12</name>
              <description>Input 12 state. Input 12 state following the synchronization specified by INSYNC.</description>
              <bitOffset>28</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
            </field>
            <field>
              <name>SIN13</name>
              <description>Input 13 state. Input 13 state following the synchronization specified by INSYNC.</description>
              <bitOffset>29</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
            </field>
            <field>
              <name>SIN14</name>
              <description>Input 14 state. Input 14 state following the synchronization specified by INSYNC.</description>
              <bitOffset>30</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
            </field>
            <field>
              <name>SIN15</name>
              <description>Input 15 state. Input 15 state following the synchronization specified by INSYNC.</description>
              <bitOffset>31</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
            </field>
          </fields>
        </register>
        <register>
          <name>REGMODE</name>
          <description>SCT match/capture mode register</description>
          <addressOffset>0x4C</addressOffset>
          <size>32</size>
          <access>read-write</access>
          <resetValue>0</resetValue>
          <resetMask>0xFFFFFFFF</resetMask>
          <fields>
            <field>
              <name>REGMOD_L</name>
              <description>Each bit controls one match/capture register (register 0 = bit 0, register 1 = bit 1, etc.). The number of bits = number of match/captures in this SCT. 0 = register operates as match register. 1 = register operates as capture register.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>16</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>REGMOD_H</name>
              <description>Each bit controls one match/capture register (register 0 = bit 16, register 1 = bit 17, etc.). The number of bits = number of match/captures in this SCT. 0 = register operates as match registers. 1 = register operates as capture registers.</description>
              <bitOffset>16</bitOffset>
              <bitWidth>16</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>OUTPUT</name>
          <description>SCT output register</description>
          <addressOffset>0x50</addressOffset>
          <size>32</size>
          <access>read-write</access>
          <resetValue>0</resetValue>
          <resetMask>0xFFFF</resetMask>
          <fields>
            <field>
              <name>OUT</name>
              <description>Writing a 1 to bit n forces the corresponding output HIGH. Writing a 0 forces the corresponding output LOW (output 0 = bit 0, output 1 = bit 1, etc.). The number of bits = number of outputs in this SCT.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>16</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>OUTPUTDIRCTRL</name>
          <description>SCT output counter direction control register</description>
          <addressOffset>0x54</addressOffset>
          <size>32</size>
          <access>read-write</access>
          <resetValue>0</resetValue>
          <resetMask>0xFFFFFFFF</resetMask>
          <fields>
            <field>
              <name>SETCLR0</name>
              <description>Set/clear operation on output 0. Value 0x3 is reserved. Do not program this value.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>2</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>INDEPENDENT</name>
                  <description>Set and clear do not depend on the direction of any counter.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>L_REVERSED</name>
                  <description>Set and clear are reversed when counter L or the unified counter is counting down.</description>
                  <value>0x1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>H_REVERSED</name>
                  <description>Set and clear are reversed when counter H is counting down. Do not use if UNIFY = 1.</description>
                  <value>0x2</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>SETCLR1</name>
              <description>Set/clear operation on output 1. Value 0x3 is reserved. Do not program this value.</description>
              <bitOffset>2</bitOffset>
              <bitWidth>2</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>INDEPENDENT</name>
                  <description>Set and clear do not depend on the direction of any counter.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>L_REVERSED</name>
                  <description>Set and clear are reversed when counter L or the unified counter is counting down.</description>
                  <value>0x1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>H_REVERSED</name>
                  <description>Set and clear are reversed when counter H is counting down. Do not use if UNIFY = 1.</description>
                  <value>0x2</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>SETCLR2</name>
              <description>Set/clear operation on output 2. Value 0x3 is reserved. Do not program this value.</description>
              <bitOffset>4</bitOffset>
              <bitWidth>2</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>INDEPENDENT</name>
                  <description>Set and clear do not depend on the direction of any counter.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>L_REVERSED</name>
                  <description>Set and clear are reversed when counter L or the unified counter is counting down.</description>
                  <value>0x1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>H_REVERSED</name>
                  <description>Set and clear are reversed when counter H is counting down. Do not use if UNIFY = 1.</description>
                  <value>0x2</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>SETCLR3</name>
              <description>Set/clear operation on output 3. Value 0x3 is reserved. Do not program this value.</description>
              <bitOffset>6</bitOffset>
              <bitWidth>2</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>INDEPENDENT</name>
                  <description>Set and clear do not depend on the direction of any counter.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>L_REVERSED</name>
                  <description>Set and clear are reversed when counter L or the unified counter is counting down.</description>
                  <value>0x1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>H_REVERSED</name>
                  <description>Set and clear are reversed when counter H is counting down. Do not use if UNIFY = 1.</description>
                  <value>0x2</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>SETCLR4</name>
              <description>Set/clear operation on output 4. Value 0x3 is reserved. Do not program this value.</description>
              <bitOffset>8</bitOffset>
              <bitWidth>2</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>INDEPENDENT</name>
                  <description>Set and clear do not depend on the direction of any counter.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>L_REVERSED</name>
                  <description>Set and clear are reversed when counter L or the unified counter is counting down.</description>
                  <value>0x1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>H_REVERSED</name>
                  <description>Set and clear are reversed when counter H is counting down. Do not use if UNIFY = 1.</description>
                  <value>0x2</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>SETCLR5</name>
              <description>Set/clear operation on output 5. Value 0x3 is reserved. Do not program this value.</description>
              <bitOffset>10</bitOffset>
              <bitWidth>2</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>INDEPENDENT</name>
                  <description>Set and clear do not depend on the direction of any counter.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>L_REVERSED</name>
                  <description>Set and clear are reversed when counter L or the unified counter is counting down.</description>
                  <value>0x1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>H_REVERSED</name>
                  <description>Set and clear are reversed when counter H is counting down. Do not use if UNIFY = 1.</description>
                  <value>0x2</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>SETCLR6</name>
              <description>Set/clear operation on output 6. Value 0x3 is reserved. Do not program this value.</description>
              <bitOffset>12</bitOffset>
              <bitWidth>2</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>INDEPENDENT</name>
                  <description>Set and clear do not depend on the direction of any counter.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>L_REVERSED</name>
                  <description>Set and clear are reversed when counter L or the unified counter is counting down.</description>
                  <value>0x1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>H_REVERSED</name>
                  <description>Set and clear are reversed when counter H is counting down. Do not use if UNIFY = 1.</description>
                  <value>0x2</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>SETCLR7</name>
              <description>Set/clear operation on output 7. Value 0x3 is reserved. Do not program this value.</description>
              <bitOffset>14</bitOffset>
              <bitWidth>2</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>INDEPENDENT</name>
                  <description>Set and clear do not depend on the direction of any counter.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>L_REVERSED</name>
                  <description>Set and clear are reversed when counter L or the unified counter is counting down.</description>
                  <value>0x1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>H_REVERSED</name>
                  <description>Set and clear are reversed when counter H is counting down. Do not use if UNIFY = 1.</description>
                  <value>0x2</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>SETCLR8</name>
              <description>Set/clear operation on output 8. Value 0x3 is reserved. Do not program this value.</description>
              <bitOffset>16</bitOffset>
              <bitWidth>2</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>INDEPENDENT</name>
                  <description>Set and clear do not depend on the direction of any counter.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>L_REVERSED</name>
                  <description>Set and clear are reversed when counter L or the unified counter is counting down.</description>
                  <value>0x1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>H_REVERSED</name>
                  <description>Set and clear are reversed when counter H is counting down. Do not use if UNIFY = 1.</description>
                  <value>0x2</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>SETCLR9</name>
              <description>Set/clear operation on output 9. Value 0x3 is reserved. Do not program this value.</description>
              <bitOffset>18</bitOffset>
              <bitWidth>2</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>INDEPENDENT</name>
                  <description>Set and clear do not depend on the direction of any counter.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>L_REVERSED</name>
                  <description>Set and clear are reversed when counter L or the unified counter is counting down.</description>
                  <value>0x1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>H_REVERSED</name>
                  <description>Set and clear are reversed when counter H is counting down. Do not use if UNIFY = 1.</description>
                  <value>0x2</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>SETCLR10</name>
              <description>Set/clear operation on output 10. Value 0x3 is reserved. Do not program this value.</description>
              <bitOffset>20</bitOffset>
              <bitWidth>2</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>INDEPENDENT</name>
                  <description>Set and clear do not depend on the direction of any counter.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>L_REVERSED</name>
                  <description>Set and clear are reversed when counter L or the unified counter is counting down.</description>
                  <value>0x1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>H_REVERSED</name>
                  <description>Set and clear are reversed when counter H is counting down. Do not use if UNIFY = 1.</description>
                  <value>0x2</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>SETCLR11</name>
              <description>Set/clear operation on output 11. Value 0x3 is reserved. Do not program this value.</description>
              <bitOffset>22</bitOffset>
              <bitWidth>2</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>INDEPENDENT</name>
                  <description>Set and clear do not depend on the direction of any counter.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>L_REVERSED</name>
                  <description>Set and clear are reversed when counter L or the unified counter is counting down.</description>
                  <value>0x1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>H_REVERSED</name>
                  <description>Set and clear are reversed when counter H is counting down. Do not use if UNIFY = 1.</description>
                  <value>0x2</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>SETCLR12</name>
              <description>Set/clear operation on output 12. Value 0x3 is reserved. Do not program this value.</description>
              <bitOffset>24</bitOffset>
              <bitWidth>2</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>INDEPENDENT</name>
                  <description>Set and clear do not depend on the direction of any counter.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>L_REVERSED</name>
                  <description>Set and clear are reversed when counter L or the unified counter is counting down.</description>
                  <value>0x1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>H_REVERSED</name>
                  <description>Set and clear are reversed when counter H is counting down. Do not use if UNIFY = 1.</description>
                  <value>0x2</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>SETCLR13</name>
              <description>Set/clear operation on output 13. Value 0x3 is reserved. Do not program this value.</description>
              <bitOffset>26</bitOffset>
              <bitWidth>2</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>INDEPENDENT</name>
                  <description>Set and clear do not depend on the direction of any counter.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>L_REVERSED</name>
                  <description>Set and clear are reversed when counter L or the unified counter is counting down.</description>
                  <value>0x1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>H_REVERSED</name>
                  <description>Set and clear are reversed when counter H is counting down. Do not use if UNIFY = 1.</description>
                  <value>0x2</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>SETCLR14</name>
              <description>Set/clear operation on output 14. Value 0x3 is reserved. Do not program this value.</description>
              <bitOffset>28</bitOffset>
              <bitWidth>2</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>INDEPENDENT</name>
                  <description>Set and clear do not depend on the direction of any counter.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>L_REVERSED</name>
                  <description>Set and clear are reversed when counter L or the unified counter is counting down.</description>
                  <value>0x1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>H_REVERSED</name>
                  <description>Set and clear are reversed when counter H is counting down. Do not use if UNIFY = 1.</description>
                  <value>0x2</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>SETCLR15</name>
              <description>Set/clear operation on output 15. Value 0x3 is reserved. Do not program this value.</description>
              <bitOffset>30</bitOffset>
              <bitWidth>2</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>INDEPENDENT</name>
                  <description>Set and clear do not depend on the direction of any counter.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>L_REVERSED</name>
                  <description>Set and clear are reversed when counter L or the unified counter is counting down.</description>
                  <value>0x1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>H_REVERSED</name>
                  <description>Set and clear are reversed when counter H is counting down. Do not use if UNIFY = 1.</description>
                  <value>0x2</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>RES</name>
          <description>SCT conflict resolution register</description>
          <addressOffset>0x58</addressOffset>
          <size>32</size>
          <access>read-write</access>
          <resetValue>0</resetValue>
          <resetMask>0xFFFFFFFF</resetMask>
          <fields>
            <field>
              <name>O0RES</name>
              <description>Effect of simultaneous set and clear on output 0.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>2</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>NO_CHANGE</name>
                  <description>No change.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>SET</name>
                  <description>Set output (or clear based on the SETCLR0 field in the OUTPUTDIRCTRL register).</description>
                  <value>0x1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>CLEAR</name>
                  <description>Clear output (or set based on the SETCLR0 field).</description>
                  <value>0x2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>TOGGLE_OUTPUT</name>
                  <description>Toggle output.</description>
                  <value>0x3</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>O1RES</name>
              <description>Effect of simultaneous set and clear on output 1.</description>
              <bitOffset>2</bitOffset>
              <bitWidth>2</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>NO_CHANGE</name>
                  <description>No change.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>SET</name>
                  <description>Set output (or clear based on the SETCLR1 field in the OUTPUTDIRCTRL register).</description>
                  <value>0x1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>CLEAR</name>
                  <description>Clear output (or set based on the SETCLR1 field).</description>
                  <value>0x2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>TOGGLE_OUTPUT</name>
                  <description>Toggle output.</description>
                  <value>0x3</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>O2RES</name>
              <description>Effect of simultaneous set and clear on output 2.</description>
              <bitOffset>4</bitOffset>
              <bitWidth>2</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>NO_CHANGE</name>
                  <description>No change.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>SET</name>
                  <description>Set output (or clear based on the SETCLR2 field in the OUTPUTDIRCTRL register).</description>
                  <value>0x1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>CLEAR</name>
                  <description>Clear output n (or set based on the SETCLR2 field).</description>
                  <value>0x2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>TOGGLE_OUTPUT</name>
                  <description>Toggle output.</description>
                  <value>0x3</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>O3RES</name>
              <description>Effect of simultaneous set and clear on output 3.</description>
              <bitOffset>6</bitOffset>
              <bitWidth>2</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>NO_CHANGE</name>
                  <description>No change.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>SET</name>
                  <description>Set output (or clear based on the SETCLR3 field in the OUTPUTDIRCTRL register).</description>
                  <value>0x1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>CLEAR</name>
                  <description>Clear output (or set based on the SETCLR3 field).</description>
                  <value>0x2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>TOGGLE_OUTPUT</name>
                  <description>Toggle output.</description>
                  <value>0x3</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>O4RES</name>
              <description>Effect of simultaneous set and clear on output 4.</description>
              <bitOffset>8</bitOffset>
              <bitWidth>2</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>NO_CHANGE</name>
                  <description>No change.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>SET</name>
                  <description>Set output (or clear based on the SETCLR4 field in the OUTPUTDIRCTRL register).</description>
                  <value>0x1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>CLEAR</name>
                  <description>Clear output (or set based on the SETCLR4 field).</description>
                  <value>0x2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>TOGGLE_OUTPUT</name>
                  <description>Toggle output.</description>
                  <value>0x3</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>O5RES</name>
              <description>Effect of simultaneous set and clear on output 5.</description>
              <bitOffset>10</bitOffset>
              <bitWidth>2</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>NO_CHANGE</name>
                  <description>No change.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>SET</name>
                  <description>Set output (or clear based on the SETCLR5 field in the OUTPUTDIRCTRL register).</description>
                  <value>0x1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>CLEAR</name>
                  <description>Clear output (or set based on the SETCLR5 field).</description>
                  <value>0x2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>TOGGLE_OUTPUT</name>
                  <description>Toggle output.</description>
                  <value>0x3</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>O6RES</name>
              <description>Effect of simultaneous set and clear on output 6.</description>
              <bitOffset>12</bitOffset>
              <bitWidth>2</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>NO_CHANGE</name>
                  <description>No change.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>SET</name>
                  <description>Set output (or clear based on the SETCLR6 field in the OUTPUTDIRCTRL register).</description>
                  <value>0x1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>CLEAR</name>
                  <description>Clear output (or set based on the SETCLR6 field).</description>
                  <value>0x2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>TOGGLE_OUTPUT</name>
                  <description>Toggle output.</description>
                  <value>0x3</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>O7RES</name>
              <description>Effect of simultaneous set and clear on output 7.</description>
              <bitOffset>14</bitOffset>
              <bitWidth>2</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>NO_CHANGE</name>
                  <description>No change.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>SET</name>
                  <description>Set output (or clear based on the SETCLR7 field in the OUTPUTDIRCTRL register).</description>
                  <value>0x1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>CLEAR</name>
                  <description>Clear output n (or set based on the SETCLR7 field).</description>
                  <value>0x2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>TOGGLE_OUTPUT</name>
                  <description>Toggle output.</description>
                  <value>0x3</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>O8RES</name>
              <description>Effect of simultaneous set and clear on output 8.</description>
              <bitOffset>16</bitOffset>
              <bitWidth>2</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>NO_CHANGE</name>
                  <description>No change.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>SET</name>
                  <description>Set output (or clear based on the SETCLR8 field in the OUTPUTDIRCTRL register).</description>
                  <value>0x1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>CLEAR</name>
                  <description>Clear output (or set based on the SETCLR8 field).</description>
                  <value>0x2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>TOGGLE_OUTPUT</name>
                  <description>Toggle output.</description>
                  <value>0x3</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>O9RES</name>
              <description>Effect of simultaneous set and clear on output 9.</description>
              <bitOffset>18</bitOffset>
              <bitWidth>2</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>NO_CHANGE</name>
                  <description>No change.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>SET</name>
                  <description>Set output (or clear based on the SETCLR9 field in the OUTPUTDIRCTRL register).</description>
                  <value>0x1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>CLEAR</name>
                  <description>Clear output (or set based on the SETCLR9 field).</description>
                  <value>0x2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>TOGGLE_OUTPUT</name>
                  <description>Toggle output.</description>
                  <value>0x3</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>O10RES</name>
              <description>Effect of simultaneous set and clear on output 10.</description>
              <bitOffset>20</bitOffset>
              <bitWidth>2</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>NO_CHANGE</name>
                  <description>No change.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>SET</name>
                  <description>Set output (or clear based on the SETCLR10 field in the OUTPUTDIRCTRL register).</description>
                  <value>0x1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>CLEAR</name>
                  <description>Clear output (or set based on the SETCLR10 field).</description>
                  <value>0x2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>TOGGLE_OUTPUT</name>
                  <description>Toggle output.</description>
                  <value>0x3</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>O11RES</name>
              <description>Effect of simultaneous set and clear on output 11.</description>
              <bitOffset>22</bitOffset>
              <bitWidth>2</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>NO_CHANGE</name>
                  <description>No change.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>SET</name>
                  <description>Set output (or clear based on the SETCLR11 field in the OUTPUTDIRCTRL register).</description>
                  <value>0x1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>CLEAR</name>
                  <description>Clear output (or set based on the SETCLR11 field).</description>
                  <value>0x2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>TOGGLE_OUTPUT</name>
                  <description>Toggle output.</description>
                  <value>0x3</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>O12RES</name>
              <description>Effect of simultaneous set and clear on output 12.</description>
              <bitOffset>24</bitOffset>
              <bitWidth>2</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>NO_CHANGE</name>
                  <description>No change.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>SET</name>
                  <description>Set output (or clear based on the SETCLR12 field in the OUTPUTDIRCTRL register).</description>
                  <value>0x1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>CLEAR</name>
                  <description>Clear output (or set based on the SETCLR12 field).</description>
                  <value>0x2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>TOGGLE_OUTPUT</name>
                  <description>Toggle output.</description>
                  <value>0x3</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>O13RES</name>
              <description>Effect of simultaneous set and clear on output 13.</description>
              <bitOffset>26</bitOffset>
              <bitWidth>2</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>NO_CHANGE</name>
                  <description>No change.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>SET</name>
                  <description>Set output (or clear based on the SETCLR13 field in the OUTPUTDIRCTRL register).</description>
                  <value>0x1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>CLEAR</name>
                  <description>Clear output (or set based on the SETCLR13 field).</description>
                  <value>0x2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>TOGGLE_OUTPUT</name>
                  <description>Toggle output.</description>
                  <value>0x3</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>O14RES</name>
              <description>Effect of simultaneous set and clear on output 14.</description>
              <bitOffset>28</bitOffset>
              <bitWidth>2</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>NO_CHANGE</name>
                  <description>No change.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>SET</name>
                  <description>Set output (or clear based on the SETCLR14 field in the OUTPUTDIRCTRL register).</description>
                  <value>0x1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>CLEAR</name>
                  <description>Clear output (or set based on the SETCLR14 field).</description>
                  <value>0x2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>TOGGLE_OUTPUT</name>
                  <description>Toggle output.</description>
                  <value>0x3</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>O15RES</name>
              <description>Effect of simultaneous set and clear on output 15.</description>
              <bitOffset>30</bitOffset>
              <bitWidth>2</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>NO_CHANGE</name>
                  <description>No change.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>SET</name>
                  <description>Set output (or clear based on the SETCLR15 field in the OUTPUTDIRCTRL register).</description>
                  <value>0x1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>CLEAR</name>
                  <description>Clear output (or set based on the SETCLR15 field).</description>
                  <value>0x2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>TOGGLE_OUTPUT</name>
                  <description>Toggle output.</description>
                  <value>0x3</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>DMA0REQUEST</name>
          <description>SCT DMA request 0 register</description>
          <addressOffset>0x5C</addressOffset>
          <size>32</size>
          <access>read-write</access>
          <resetValue>0</resetValue>
          <resetMask>0xC000FFFF</resetMask>
          <fields>
            <field>
              <name>DEV_0</name>
              <description>If bit n is one, event n triggers DMA request 0 (event 0 = bit 0, event 1 = bit 1, etc.). The number of bits = number of events in this SCT.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>16</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>DRL0</name>
              <description>A 1 in this bit triggers DMA request 0 when it loads the MATCH_L/Unified registers from the RELOAD_L/Unified registers.</description>
              <bitOffset>30</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>DRQ0</name>
              <description>This read-only bit indicates the state of DMA Request 0. Note that if the related DMA channel is enabled and properly set up, it is unlikely that software will see this flag, it will be cleared rapidly by the DMA service. The flag remaining set could point to an issue with DMA setup.</description>
              <bitOffset>31</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>DMA1REQUEST</name>
          <description>SCT DMA request 1 register</description>
          <addressOffset>0x60</addressOffset>
          <size>32</size>
          <access>read-write</access>
          <resetValue>0</resetValue>
          <resetMask>0xC000FFFF</resetMask>
          <fields>
            <field>
              <name>DEV_1</name>
              <description>If bit n is one, event n triggers DMA request 1 (event 0 = bit 0, event 1 = bit 1, etc.). The number of bits = number of events in this SCT.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>16</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>DRL1</name>
              <description>A 1 in this bit triggers DMA request 1 when it loads the Match L/Unified registers from the Reload L/Unified registers.</description>
              <bitOffset>30</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>DRQ1</name>
              <description>This read-only bit indicates the state of DMA Request 1. Note that if the related DMA channel is enabled and properly set up, it is unlikely that software will see this flag, it will be cleared rapidly by the DMA service. The flag remaining set could point to an issue with DMA setup.</description>
              <bitOffset>31</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>EVEN</name>
          <description>SCT event interrupt enable register</description>
          <addressOffset>0xF0</addressOffset>
          <size>32</size>
          <access>read-write</access>
          <resetValue>0</resetValue>
          <resetMask>0xFFFF</resetMask>
          <fields>
            <field>
              <name>IEN</name>
              <description>The SCT requests an interrupt when bit n of this register and the event flag register are both one (event 0 = bit 0, event 1 = bit 1, etc.). The number of bits = number of events in this SCT.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>16</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>EVFLAG</name>
          <description>SCT event flag register</description>
          <addressOffset>0xF4</addressOffset>
          <size>32</size>
          <access>read-write</access>
          <resetValue>0</resetValue>
          <resetMask>0xFFFF</resetMask>
          <fields>
            <field>
              <name>FLAG</name>
              <description>Bit n is one if event n has occurred since reset or a 1 was last written to this bit (event 0 = bit 0, event 1 = bit 1, etc.). The number of bits = number of events in this SCT.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>16</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>CONEN</name>
          <description>SCT conflict interrupt enable register</description>
          <addressOffset>0xF8</addressOffset>
          <size>32</size>
          <access>read-write</access>
          <resetValue>0</resetValue>
          <resetMask>0xFFFF</resetMask>
          <fields>
            <field>
              <name>NCEN</name>
              <description>The SCT requests an interrupt when bit n of this register and the SCT conflict flag register are both one (output 0 = bit 0, output 1 = bit 1, etc.). The number of bits = number of outputs in this SCT.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>16</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>CONFLAG</name>
          <description>SCT conflict flag register</description>
          <addressOffset>0xFC</addressOffset>
          <size>32</size>
          <access>read-write</access>
          <resetValue>0</resetValue>
          <resetMask>0xC000FFFF</resetMask>
          <fields>
            <field>
              <name>NCFLAG</name>
              <description>Bit n is one if a no-change conflict event occurred on output n since reset or a 1 was last written to this bit (output 0 = bit 0, output 1 = bit 1, etc.). The number of bits = number of outputs in this SCT.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>16</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>BUSERRL</name>
              <description>The most recent bus error from this SCT involved writing CTR L/Unified, STATE L/Unified, MATCH L/Unified, or the Output register when the L/U counter was not halted. A word write to certain L and H registers can be half successful and half unsuccessful.</description>
              <bitOffset>30</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>BUSERRH</name>
              <description>The most recent bus error from this SCT involved writing CTR H, STATE H, MATCH H, or the Output register when the H counter was not halted.</description>
              <bitOffset>31</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <dim>10</dim>
          <dimIncrement>0x4</dimIncrement>
          <name>SCTCAP[%s]</name>
          <description>SCT capture register of capture channel</description>
          <alternateGroup>CAP_MATCH</alternateGroup>
          <addressOffset>0x100</addressOffset>
          <size>32</size>
          <access>read-write</access>
          <resetValue>0</resetValue>
          <resetMask>0xFFFFFFFF</resetMask>
          <fields>
            <field>
              <name>CAPn_L</name>
              <description>When UNIFY = 0, read the 16-bit counter value at which this register was last captured. When UNIFY = 1, read the lower 16 bits of the 32-bit value at which this register was last captured.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>16</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>CAPn_H</name>
              <description>When UNIFY = 0, read the 16-bit counter value at which this register was last captured. When UNIFY = 1, read the upper 16 bits of the 32-bit value at which this register was last captured.</description>
              <bitOffset>16</bitOffset>
              <bitWidth>16</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <dim>10</dim>
          <dimIncrement>0x4</dimIncrement>
          <name>SCTMATCH[%s]</name>
          <description>SCT match value register of match channels</description>
          <alternateGroup>CAP_MATCH</alternateGroup>
          <addressOffset>0x100</addressOffset>
          <size>32</size>
          <access>read-write</access>
          <resetValue>0</resetValue>
          <resetMask>0xFFFFFFFF</resetMask>
          <fields>
            <field>
              <name>MATCHn_L</name>
              <description>When UNIFY = 0, read or write the 16-bit value to be compared to the L counter. When UNIFY = 1, read or write the lower 16 bits of the 32-bit value to be compared to the unified counter.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>16</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>MATCHn_H</name>
              <description>When UNIFY = 0, read or write the 16-bit value to be compared to the H counter. When UNIFY = 1, read or write the upper 16 bits of the 32-bit value to be compared to the unified counter.</description>
              <bitOffset>16</bitOffset>
              <bitWidth>16</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <dim>10</dim>
          <dimIncrement>0x4</dimIncrement>
          <name>SCTCAPCTRL[%s]</name>
          <description>SCT capture control register</description>
          <alternateGroup>CAPCTRL_MATCHREL</alternateGroup>
          <addressOffset>0x200</addressOffset>
          <size>32</size>
          <access>read-write</access>
          <resetValue>0</resetValue>
          <resetMask>0xFFFFFFFF</resetMask>
          <fields>
            <field>
              <name>CAPCONn_L</name>
              <description>If bit m is one, event m causes the CAPn_L (UNIFY = 0) or the CAPn (UNIFY = 1) register to be loaded (event 0 = bit 0, event 1 = bit 1, etc.). The number of bits = number of match/captures in this SCT.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>16</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>CAPCONn_H</name>
              <description>If bit m is one, event m causes the CAPn_H (UNIFY = 0) register to be loaded (event 0 = bit 16, event 1 = bit 17, etc.). The number of bits = number of match/captures in this SCT.</description>
              <bitOffset>16</bitOffset>
              <bitWidth>16</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <dim>10</dim>
          <dimIncrement>0x4</dimIncrement>
          <name>SCTMATCHREL[%s]</name>
          <description>SCT match reload value register</description>
          <alternateGroup>CAPCTRL_MATCHREL</alternateGroup>
          <addressOffset>0x200</addressOffset>
          <size>32</size>
          <access>read-write</access>
          <resetValue>0</resetValue>
          <resetMask>0xFFFFFFFF</resetMask>
          <fields>
            <field>
              <name>RELOADn_L</name>
              <description>When UNIFY = 0, specifies the 16-bit value to be loaded into the MATCHn_L register. When UNIFY = 1, specifies the lower 16 bits of the 32-bit value to be loaded into the MATCHn register.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>16</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>RELOADn_H</name>
              <description>When UNIFY = 0, specifies the 16-bit to be loaded into the MATCHn_H register. When UNIFY = 1, specifies the upper 16 bits of the 32-bit value to be loaded into the MATCHn register.</description>
              <bitOffset>16</bitOffset>
              <bitWidth>16</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <cluster>
          <dim>10</dim>
          <dimIncrement>0x8</dimIncrement>
          <name>EVENT[%s]</name>
          <description>no description available</description>
          <addressOffset>0x300</addressOffset>
          <register>
            <name>STATE</name>
            <description>SCT event state register 0</description>
            <addressOffset>0</addressOffset>
            <size>32</size>
            <access>read-write</access>
            <resetValue>0</resetValue>
            <resetMask>0xFFFF</resetMask>
            <fields>
              <field>
                <name>STATEMSKn</name>
                <description>If bit m is one, event n happens in state m of the counter selected by the HEVENT bit (n = event number, m = state number; state 0 = bit 0, state 1= bit 1, etc.). The number of bits = number of states in this SCT.</description>
                <bitOffset>0</bitOffset>
                <bitWidth>16</bitWidth>
                <access>read-write</access>
              </field>
            </fields>
          </register>
          <register>
            <name>CTRL</name>
            <description>SCT event control register 0</description>
            <addressOffset>0x4</addressOffset>
            <size>32</size>
            <access>read-write</access>
            <resetValue>0</resetValue>
            <resetMask>0x7FFFFF</resetMask>
            <fields>
              <field>
                <name>MATCHSEL</name>
                <description>Selects the Match register associated with this event (if any). A match can occur only when the counter selected by the HEVENT bit is running.</description>
                <bitOffset>0</bitOffset>
                <bitWidth>4</bitWidth>
                <access>read-write</access>
              </field>
              <field>
                <name>HEVENT</name>
                <description>Select L/H counter. Do not set this bit if UNIFY = 1.</description>
                <bitOffset>4</bitOffset>
                <bitWidth>1</bitWidth>
                <access>read-write</access>
                <enumeratedValues>
                  <enumeratedValue>
                    <name>L_COUNTER</name>
                    <description>Selects the L state and the L match register selected by MATCHSEL.</description>
                    <value>0</value>
                  </enumeratedValue>
                  <enumeratedValue>
                    <name>H_COUNTER</name>
                    <description>Selects the H state and the H match register selected by MATCHSEL.</description>
                    <value>0x1</value>
                  </enumeratedValue>
                </enumeratedValues>
              </field>
              <field>
                <name>OUTSEL</name>
                <description>Input/output select</description>
                <bitOffset>5</bitOffset>
                <bitWidth>1</bitWidth>
                <access>read-write</access>
                <enumeratedValues>
                  <enumeratedValue>
                    <name>INPUT</name>
                    <description>Selects the inputs selected by IOSEL.</description>
                    <value>0</value>
                  </enumeratedValue>
                  <enumeratedValue>
                    <name>OUTPUT</name>
                    <description>Selects the outputs selected by IOSEL.</description>
                    <value>0x1</value>
                  </enumeratedValue>
                </enumeratedValues>
              </field>
              <field>
                <name>IOSEL</name>
                <description>Selects the input or output signal number associated with this event (if any). Do not select an input in this register if CKMODE is 1x. In this case the clock input is an implicit ingredient of every event.</description>
                <bitOffset>6</bitOffset>
                <bitWidth>4</bitWidth>
                <access>read-write</access>
              </field>
              <field>
                <name>IOCOND</name>
                <description>Selects the I/O condition for event n. (The detection of edges on outputs lag the conditions that switch the outputs by one SCT clock). In order to guarantee proper edge/state detection, an input must have a minimum pulse width of at least one SCT clock period .</description>
                <bitOffset>10</bitOffset>
                <bitWidth>2</bitWidth>
                <access>read-write</access>
                <enumeratedValues>
                  <enumeratedValue>
                    <name>LOW</name>
                    <description>LOW</description>
                    <value>0</value>
                  </enumeratedValue>
                  <enumeratedValue>
                    <name>RISE</name>
                    <description>Rise</description>
                    <value>0x1</value>
                  </enumeratedValue>
                  <enumeratedValue>
                    <name>FALL</name>
                    <description>Fall</description>
                    <value>0x2</value>
                  </enumeratedValue>
                  <enumeratedValue>
                    <name>HIGH</name>
                    <description>HIGH</description>
                    <value>0x3</value>
                  </enumeratedValue>
                </enumeratedValues>
              </field>
              <field>
                <name>COMBMODE</name>
                <description>Selects how the specified match and I/O condition are used and combined.</description>
                <bitOffset>12</bitOffset>
                <bitWidth>2</bitWidth>
                <access>read-write</access>
                <enumeratedValues>
                  <enumeratedValue>
                    <name>OR</name>
                    <description>OR. The event occurs when either the specified match or I/O condition occurs.</description>
                    <value>0</value>
                  </enumeratedValue>
                  <enumeratedValue>
                    <name>MATCH</name>
                    <description>MATCH. Uses the specified match only.</description>
                    <value>0x1</value>
                  </enumeratedValue>
                  <enumeratedValue>
                    <name>IO</name>
                    <description>IO. Uses the specified I/O condition only.</description>
                    <value>0x2</value>
                  </enumeratedValue>
                  <enumeratedValue>
                    <name>AND</name>
                    <description>AND. The event occurs when the specified match and I/O condition occur simultaneously.</description>
                    <value>0x3</value>
                  </enumeratedValue>
                </enumeratedValues>
              </field>
              <field>
                <name>STATELD</name>
                <description>This bit controls how the STATEV value modifies the state selected by HEVENT when this event is the highest-numbered event occurring for that state.</description>
                <bitOffset>14</bitOffset>
                <bitWidth>1</bitWidth>
                <access>read-write</access>
                <enumeratedValues>
                  <enumeratedValue>
                    <name>ADD</name>
                    <description>STATEV value is added into STATE (the carry-out is ignored).</description>
                    <value>0</value>
                  </enumeratedValue>
                  <enumeratedValue>
                    <name>LOAD</name>
                    <description>STATEV value is loaded into STATE.</description>
                    <value>0x1</value>
                  </enumeratedValue>
                </enumeratedValues>
              </field>
              <field>
                <name>STATEV</name>
                <description>This value is loaded into or added to the state selected by HEVENT, depending on STATELD, when this event is the highest-numbered event occurring for that state. If STATELD and STATEV are both zero, there is no change to the STATE value.</description>
                <bitOffset>15</bitOffset>
                <bitWidth>5</bitWidth>
                <access>read-write</access>
              </field>
              <field>
                <name>MATCHMEM</name>
                <description>If this bit is one and the COMBMODE field specifies a match component to the triggering of this event, then a match is considered to be active whenever the counter value is GREATER THAN OR EQUAL TO the value specified in the match register when counting up, LESS THEN OR EQUAL TO the match value when counting down. If this bit is zero, a match is only be active during the cycle when the counter is equal to the match value.</description>
                <bitOffset>20</bitOffset>
                <bitWidth>1</bitWidth>
                <access>read-write</access>
              </field>
              <field>
                <name>DIRECTION</name>
                <description>Direction qualifier for event generation. This field only applies when the counters are operating in BIDIR mode. If BIDIR = 0, the SCT ignores this field. Value 0x3 is reserved.</description>
                <bitOffset>21</bitOffset>
                <bitWidth>2</bitWidth>
                <access>read-write</access>
                <enumeratedValues>
                  <enumeratedValue>
                    <name>DIRECTION_INDEPENDENT</name>
                    <description>Direction independent. This event is triggered regardless of the count direction.</description>
                    <value>0</value>
                  </enumeratedValue>
                  <enumeratedValue>
                    <name>COUNTING_UP</name>
                    <description>Counting up. This event is triggered only during up-counting when BIDIR = 1.</description>
                    <value>0x1</value>
                  </enumeratedValue>
                  <enumeratedValue>
                    <name>COUNTING_DOWN</name>
                    <description>Counting down. This event is triggered only during down-counting when BIDIR = 1.</description>
                    <value>0x2</value>
                  </enumeratedValue>
                </enumeratedValues>
              </field>
            </fields>
          </register>
        </cluster>
        <cluster>
          <dim>8</dim>
          <dimIncrement>0x8</dimIncrement>
          <name>OUT[%s]</name>
          <description>no description available</description>
          <addressOffset>0x500</addressOffset>
          <register>
            <name>SET</name>
            <description>SCT output 0 set register</description>
            <addressOffset>0</addressOffset>
            <size>32</size>
            <access>read-write</access>
            <resetValue>0</resetValue>
            <resetMask>0xFFFF</resetMask>
            <fields>
              <field>
                <name>SET</name>
                <description>A 1 in bit m selects event m to set output n (or clear it if SETCLRn = 0x1 or 0x2) output 0 = bit 0, output 1 = bit 1, etc. The number of bits = number of events in this SCT. When the counter is used in bi-directional mode, it is possible to reverse the action specified by the output set and clear registers when counting down, See the OUTPUTCTRL register.</description>
                <bitOffset>0</bitOffset>
                <bitWidth>16</bitWidth>
                <access>read-write</access>
              </field>
            </fields>
          </register>
          <register>
            <name>CLR</name>
            <description>SCT output 0 clear register</description>
            <addressOffset>0x4</addressOffset>
            <size>32</size>
            <access>read-write</access>
            <resetValue>0</resetValue>
            <resetMask>0xFFFF</resetMask>
            <fields>
              <field>
                <name>CLR</name>
                <description>A 1 in bit m selects event m to clear output n (or set it if SETCLRn = 0x1 or 0x2) event 0 = bit 0, event 1 = bit 1, etc. The number of bits = number of events in this SCT. When the counter is used in bi-directional mode, it is possible to reverse the action specified by the output set and clear registers when counting down, See the OUTPUTCTRL register.</description>
                <bitOffset>0</bitOffset>
                <bitWidth>16</bitWidth>
                <access>read-write</access>
              </field>
            </fields>
          </register>
        </cluster>
      </registers>
    </peripheral>
    <peripheral>
      <name>FLEXCOMM0</name>
      <description>LPC51u68 Flexcomm serial communication</description>
      <groupName>FLEXCOMM</groupName>
      <headerStructName>FLEXCOMM</headerStructName>
      <baseAddress>0x40086000</baseAddress>
      <addressBlock>
        <offset>0</offset>
        <size>0x1000</size>
        <usage>registers</usage>
      </addressBlock>
      <interrupt>
        <name>FLEXCOMM0</name>
        <value>14</value>
      </interrupt>
      <registers>
        <register>
          <name>PSELID</name>
          <description>Peripheral Select and Flexcomm ID register.</description>
          <addressOffset>0xFF8</addressOffset>
          <size>32</size>
          <access>read-write</access>
          <resetValue>0x101000</resetValue>
          <resetMask>0xFFFFF0FF</resetMask>
          <fields>
            <field>
              <name>PERSEL</name>
              <description>Peripheral Select. This field is writable by software.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>3</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>NO_PERIPH_SELECTED</name>
                  <description>No peripheral selected.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>USART</name>
                  <description>USART function selected.</description>
                  <value>0x1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>SPI</name>
                  <description>SPI function selected.</description>
                  <value>0x2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>I2C</name>
                  <description>I2C function selected.</description>
                  <value>0x3</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>I2S_TRANSMIT</name>
                  <description>I2S transmit function selected.</description>
                  <value>0x4</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>I2S_RECEIVE</name>
                  <description>I2S receive function selected.</description>
                  <value>0x5</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>LOCK</name>
              <description>Lock the peripheral select. This field is writable by software.</description>
              <bitOffset>3</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>UNLOCKED</name>
                  <description>Peripheral select can be changed by software.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>LOCKED</name>
                  <description>Peripheral select is locked and cannot be changed until this Flexcomm or the entire device is reset.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>USARTPRESENT</name>
              <description>USART present indicator. This field is Read-only.</description>
              <bitOffset>4</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>NOT_PRESENT</name>
                  <description>This Flexcomm does not include the USART function.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>PRESENT</name>
                  <description>This Flexcomm includes the USART function.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>SPIPRESENT</name>
              <description>SPI present indicator. This field is Read-only.</description>
              <bitOffset>5</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>NOT_PRESENT</name>
                  <description>This Flexcomm does not include the SPI function.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>PRESENT</name>
                  <description>This Flexcomm includes the SPI function.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>I2CPRESENT</name>
              <description>I2C present indicator. This field is Read-only.</description>
              <bitOffset>6</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>NOT_PRESENT</name>
                  <description>This Flexcomm does not include the I2C function.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>PRESENT</name>
                  <description>This Flexcomm includes the I2C function.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>I2SPRESENT</name>
              <description>I 2S present indicator. This field is Read-only.</description>
              <bitOffset>7</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>NOT_PRESENT</name>
                  <description>This Flexcomm does not include the I2S function.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>PRESENT</name>
                  <description>This Flexcomm includes the I2S function.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>ID</name>
              <description>Flexcomm ID.</description>
              <bitOffset>12</bitOffset>
              <bitWidth>20</bitWidth>
              <access>read-only</access>
            </field>
          </fields>
        </register>
        <register>
          <name>PID</name>
          <description>Peripheral identification register.</description>
          <addressOffset>0xFFC</addressOffset>
          <size>32</size>
          <access>read-only</access>
          <resetValue>0</resetValue>
          <resetMask>0xFFFFFFFF</resetMask>
          <fields>
            <field>
              <name>Minor_Rev</name>
              <description>Minor revision of module implementation.</description>
              <bitOffset>8</bitOffset>
              <bitWidth>4</bitWidth>
              <access>read-only</access>
            </field>
            <field>
              <name>Major_Rev</name>
              <description>Major revision of module implementation.</description>
              <bitOffset>12</bitOffset>
              <bitWidth>4</bitWidth>
              <access>read-only</access>
            </field>
            <field>
              <name>ID</name>
              <description>Module identifier for the selected function.</description>
              <bitOffset>16</bitOffset>
              <bitWidth>16</bitWidth>
              <access>read-only</access>
            </field>
          </fields>
        </register>
      </registers>
    </peripheral>
    <peripheral derivedFrom="FLEXCOMM0">
      <name>FLEXCOMM1</name>
      <description>LPC51u68 Flexcomm serial communication</description>
      <groupName>FLEXCOMM</groupName>
      <baseAddress>0x40087000</baseAddress>
      <addressBlock>
        <offset>0</offset>
        <size>0x1000</size>
        <usage>registers</usage>
      </addressBlock>
      <interrupt>
        <name>FLEXCOMM1</name>
        <value>15</value>
      </interrupt>
    </peripheral>
    <peripheral derivedFrom="FLEXCOMM0">
      <name>FLEXCOMM2</name>
      <description>LPC51u68 Flexcomm serial communication</description>
      <groupName>FLEXCOMM</groupName>
      <baseAddress>0x40088000</baseAddress>
      <addressBlock>
        <offset>0</offset>
        <size>0x1000</size>
        <usage>registers</usage>
      </addressBlock>
      <interrupt>
        <name>FLEXCOMM2</name>
        <value>16</value>
      </interrupt>
    </peripheral>
    <peripheral derivedFrom="FLEXCOMM0">
      <name>FLEXCOMM3</name>
      <description>LPC51u68 Flexcomm serial communication</description>
      <groupName>FLEXCOMM</groupName>
      <baseAddress>0x40089000</baseAddress>
      <addressBlock>
        <offset>0</offset>
        <size>0x1000</size>
        <usage>registers</usage>
      </addressBlock>
      <interrupt>
        <name>FLEXCOMM3</name>
        <value>17</value>
      </interrupt>
    </peripheral>
    <peripheral derivedFrom="FLEXCOMM0">
      <name>FLEXCOMM4</name>
      <description>LPC51u68 Flexcomm serial communication</description>
      <groupName>FLEXCOMM</groupName>
      <baseAddress>0x4008A000</baseAddress>
      <addressBlock>
        <offset>0</offset>
        <size>0x1000</size>
        <usage>registers</usage>
      </addressBlock>
      <interrupt>
        <name>FLEXCOMM4</name>
        <value>18</value>
      </interrupt>
    </peripheral>
    <peripheral derivedFrom="FLEXCOMM0">
      <name>FLEXCOMM5</name>
      <description>LPC51u68 Flexcomm serial communication</description>
      <groupName>FLEXCOMM</groupName>
      <baseAddress>0x40096000</baseAddress>
      <addressBlock>
        <offset>0</offset>
        <size>0x1000</size>
        <usage>registers</usage>
      </addressBlock>
      <interrupt>
        <name>FLEXCOMM5</name>
        <value>19</value>
      </interrupt>
    </peripheral>
    <peripheral derivedFrom="FLEXCOMM0">
      <name>FLEXCOMM6</name>
      <description>LPC51u68 Flexcomm serial communication</description>
      <groupName>FLEXCOMM</groupName>
      <baseAddress>0x40097000</baseAddress>
      <addressBlock>
        <offset>0</offset>
        <size>0x1000</size>
        <usage>registers</usage>
      </addressBlock>
      <interrupt>
        <name>FLEXCOMM6</name>
        <value>20</value>
      </interrupt>
    </peripheral>
    <peripheral derivedFrom="FLEXCOMM0">
      <name>FLEXCOMM7</name>
      <description>LPC51u68 Flexcomm serial communication</description>
      <groupName>FLEXCOMM</groupName>
      <baseAddress>0x40098000</baseAddress>
      <addressBlock>
        <offset>0</offset>
        <size>0x1000</size>
        <usage>registers</usage>
      </addressBlock>
      <interrupt>
        <name>FLEXCOMM7</name>
        <value>21</value>
      </interrupt>
    </peripheral>
    <peripheral>
      <name>I2C0</name>
      <description>LPC51u68 I2C-bus interfaces</description>
      <alternatePeripheral>FLEXCOMM0</alternatePeripheral>
      <groupName>I2C</groupName>
      <headerStructName>I2C</headerStructName>
      <baseAddress>0x40086000</baseAddress>
      <addressBlock>
        <offset>0</offset>
        <size>0x1000</size>
        <usage>registers</usage>
      </addressBlock>
      <interrupt>
        <name>FLEXCOMM0</name>
        <value>14</value>
      </interrupt>
      <registers>
        <register>
          <name>CFG</name>
          <description>Configuration for shared functions.</description>
          <addressOffset>0x800</addressOffset>
          <size>32</size>
          <access>read-write</access>
          <resetValue>0</resetValue>
          <resetMask>0x3F</resetMask>
          <fields>
            <field>
              <name>MSTEN</name>
              <description>Master Enable. When disabled, configurations settings for the Master function are not changed, but the Master function is internally reset.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>DISABLED</name>
                  <description>Disabled. The I2C Master function is disabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ENABLED</name>
                  <description>Enabled. The I2C Master function is enabled.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>SLVEN</name>
              <description>Slave Enable. When disabled, configurations settings for the Slave function are not changed, but the Slave function is internally reset.</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>DISABLED</name>
                  <description>Disabled. The I2C slave function is disabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ENABLED</name>
                  <description>Enabled. The I2C slave function is enabled.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>MONEN</name>
              <description>Monitor Enable. When disabled, configurations settings for the Monitor function are not changed, but the Monitor function is internally reset.</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>DISABLED</name>
                  <description>Disabled. The I2C Monitor function is disabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ENABLED</name>
                  <description>Enabled. The I2C Monitor function is enabled.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>TIMEOUTEN</name>
              <description>I2C bus Time-out Enable. When disabled, the time-out function is internally reset.</description>
              <bitOffset>3</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>DISABLED</name>
                  <description>Disabled. Time-out function is disabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ENABLED</name>
                  <description>Enabled. Time-out function is enabled. Both types of time-out flags will be generated and will cause interrupts if they are enabled. Typically, only one time-out will be used in a system.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>MONCLKSTR</name>
              <description>Monitor function Clock Stretching.</description>
              <bitOffset>4</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>DISABLED</name>
                  <description>Disabled. The Monitor function will not perform clock stretching. Software or DMA may not always be able to read data provided by the Monitor function before it is overwritten. This mode may be used when non-invasive monitoring is critical.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ENABLED</name>
                  <description>Enabled. The Monitor function will perform clock stretching in order to ensure that software or DMA can read all incoming data supplied by the Monitor function.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>HSCAPABLE</name>
              <description>High-speed mode Capable enable. Since High Speed mode alters the way I2C pins drive and filter, as well as the timing for certain I2C signalling, enabling High-speed mode applies to all functions: Master, Slave, and Monitor.</description>
              <bitOffset>5</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>FAST_MODE_PLUS</name>
                  <description>Fast-mode plus. The I 2C interface will support Standard-mode, Fast-mode, and Fast-mode Plus, to the extent that the pin electronics support these modes. Any changes that need to be made to the pin controls, such as changing the drive strength or filtering, must be made by software via the IOCON register associated with each I2C pin,</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>HIGH_SPEED</name>
                  <description>High-speed. In addition to Standard-mode, Fast-mode, and Fast-mode Plus, the I 2C interface will support High-speed mode to the extent that the pin electronics support these modes. See Section 25.7.2.2 for more information.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>STAT</name>
          <description>Status register for Master, Slave, and Monitor functions.</description>
          <addressOffset>0x804</addressOffset>
          <size>32</size>
          <access>read-write</access>
          <resetValue>0x801</resetValue>
          <resetMask>0x30FFF5F</resetMask>
          <fields>
            <field>
              <name>MSTPENDING</name>
              <description>Master Pending. Indicates that the Master is waiting to continue communication on the I2C-bus (pending) or is idle. When the master is pending, the MSTSTATE bits indicate what type of software service if any the master expects. This flag will cause an interrupt when set if, enabled via the INTENSET register. The MSTPENDING flag is not set when the DMA is handling an event (if the MSTDMA bit in the MSTCTL register is set). If the master is in the idle state, and no communication is needed, mask this interrupt.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>IN_PROGRESS</name>
                  <description>In progress. Communication is in progress and the Master function is busy and cannot currently accept a command.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>PENDING</name>
                  <description>Pending. The Master function needs software service or is in the idle state. If the master is not in the idle state, it is waiting to receive or transmit data or the NACK bit.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>MSTSTATE</name>
              <description>Master State code. The master state code reflects the master state when the MSTPENDING bit is set, that is the master is pending or in the idle state. Each value of this field indicates a specific required service for the Master function. All other values are reserved. See Table 400 for details of state values and appropriate responses.</description>
              <bitOffset>1</bitOffset>
              <bitWidth>3</bitWidth>
              <access>read-only</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>IDLE</name>
                  <description>Idle. The Master function is available to be used for a new transaction.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>RECEIVE_READY</name>
                  <description>Receive ready. Received data available (Master Receiver mode). Address plus Read was previously sent and Acknowledged by slave.</description>
                  <value>0x1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>TRANSMIT_READY</name>
                  <description>Transmit ready. Data can be transmitted (Master Transmitter mode). Address plus Write was previously sent and Acknowledged by slave.</description>
                  <value>0x2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>NACK_ADDRESS</name>
                  <description>NACK Address. Slave NACKed address.</description>
                  <value>0x3</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>NACK_DATA</name>
                  <description>NACK Data. Slave NACKed transmitted data.</description>
                  <value>0x4</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>MSTARBLOSS</name>
              <description>Master Arbitration Loss flag. This flag can be cleared by software writing a 1 to this bit. It is also cleared automatically a 1 is written to MSTCONTINUE.</description>
              <bitOffset>4</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>NO_LOSS</name>
                  <description>No Arbitration Loss has occurred.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ARBITRATION_LOSS</name>
                  <description>Arbitration loss. The Master function has experienced an Arbitration Loss. At this point, the Master function has already stopped driving the bus and gone to an idle state. Software can respond by doing nothing, or by sending a Start in order to attempt to gain control of the bus when it next becomes idle.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>MSTSTSTPERR</name>
              <description>Master Start/Stop Error flag. This flag can be cleared by software writing a 1 to this bit. It is also cleared automatically a 1 is written to MSTCONTINUE.</description>
              <bitOffset>6</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>NO_ERROR</name>
                  <description>No Start/Stop Error has occurred.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ERROR</name>
                  <description>The Master function has experienced a Start/Stop Error. A Start or Stop was detected at a time when it is not allowed by the I2C specification. The Master interface has stopped driving the bus and gone to an idle state, no action is required. A request for a Start could be made, or software could attempt to insure that the bus has not stalled.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>SLVPENDING</name>
              <description>Slave Pending. Indicates that the Slave function is waiting to continue communication on the I2C-bus and needs software service. This flag will cause an interrupt when set if enabled via INTENSET. The SLVPENDING flag is not set when the DMA is handling an event (if the SLVDMA bit in the SLVCTL register is set). The SLVPENDING flag is read-only and is automatically cleared when a 1 is written to the SLVCONTINUE bit in the SLVCTL register. The point in time when SlvPending is set depends on whether the I2C interface is in HSCAPABLE mode. See Section 25.7.2.2.2. When the I2C interface is configured to be HSCAPABLE, HS master codes are detected automatically. Due to the requirements of the HS I2C specification, slave addresses must also be detected automatically, since the address must be acknowledged before the clock can be stretched.</description>
              <bitOffset>8</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>IN_PROGRESS</name>
                  <description>In progress. The Slave function does not currently need service.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>PENDING</name>
                  <description>Pending. The Slave function needs service. Information on what is needed can be found in the adjacent SLVSTATE field.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>SLVSTATE</name>
              <description>Slave State code. Each value of this field indicates a specific required service for the Slave function. All other values are reserved. See Table 401 for state values and actions. note that the occurrence of some states and how they are handled are affected by DMA mode and Automatic Operation modes.</description>
              <bitOffset>9</bitOffset>
              <bitWidth>2</bitWidth>
              <access>read-only</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>SLAVE_ADDRESS</name>
                  <description>Slave address. Address plus R/W received. At least one of the four slave addresses has been matched by hardware.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>SLAVE_RECEIVE</name>
                  <description>Slave receive. Received data is available (Slave Receiver mode).</description>
                  <value>0x1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>SLAVE_TRANSMIT</name>
                  <description>Slave transmit. Data can be transmitted (Slave Transmitter mode).</description>
                  <value>0x2</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>SLVNOTSTR</name>
              <description>Slave Not Stretching. Indicates when the slave function is stretching the I2C clock. This is needed in order to gracefully invoke Deep Sleep or Power-down modes during slave operation. This read-only flag reflects the slave function status in real time.</description>
              <bitOffset>11</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>STRETCHING</name>
                  <description>Stretching. The slave function is currently stretching the I2C bus clock. Deep-Sleep or Power-down mode cannot be entered at this time.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>NOT_STRETCHING</name>
                  <description>Not stretching. The slave function is not currently stretching the I 2C bus clock. Deep-sleep or Power-down mode could be entered at this time.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>SLVIDX</name>
              <description>Slave address match Index. This field is valid when the I2C slave function has been selected by receiving an address that matches one of the slave addresses defined by any enabled slave address registers, and provides an identification of the address that was matched. It is possible that more than one address could be matched, but only one match can be reported here.</description>
              <bitOffset>12</bitOffset>
              <bitWidth>2</bitWidth>
              <access>read-only</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>ADDRESS0</name>
                  <description>Address 0. Slave address 0 was matched.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ADDRESS1</name>
                  <description>Address 1. Slave address 1 was matched.</description>
                  <value>0x1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ADDRESS2</name>
                  <description>Address 2. Slave address 2 was matched.</description>
                  <value>0x2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ADDRESS3</name>
                  <description>Address 3. Slave address 3 was matched.</description>
                  <value>0x3</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>SLVSEL</name>
              <description>Slave selected flag. SLVSEL is set after an address match when software tells the Slave function to acknowledge the address, or when the address has been automatically acknowledged. It is cleared when another address cycle presents an address that does not match an enabled address on the Slave function, when slave software decides to NACK a matched address, when there is a Stop detected on the bus, when the master NACKs slave data, and in some combinations of Automatic Operation. SLVSEL is not cleared if software NACKs data.</description>
              <bitOffset>14</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>NOT_SELECTED</name>
                  <description>Not selected. The Slave function is not currently selected.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>SELECTED</name>
                  <description>Selected. The Slave function is currently selected.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>SLVDESEL</name>
              <description>Slave Deselected flag. This flag will cause an interrupt when set if enabled via INTENSET. This flag can be cleared by writing a 1 to this bit.</description>
              <bitOffset>15</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>NOT_DESELECTED</name>
                  <description>Not deselected. The Slave function has not become deselected. This does not mean that it is currently selected. That information can be found in the SLVSEL flag.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>DESELECTED</name>
                  <description>Deselected. The Slave function has become deselected. This is specifically caused by the SLVSEL flag changing from 1 to 0. See the description of SLVSEL for details on when that event occurs.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>MONRDY</name>
              <description>Monitor Ready. This flag is cleared when the MONRXDAT register is read.</description>
              <bitOffset>16</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>NO_DATA</name>
                  <description>No data. The Monitor function does not currently have data available.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>DATA_WAITING</name>
                  <description>Data waiting. The Monitor function has data waiting to be read.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>MONOV</name>
              <description>Monitor Overflow flag.</description>
              <bitOffset>17</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>NO_OVERRUN</name>
                  <description>No overrun. Monitor data has not overrun.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>OVERRUN</name>
                  <description>Overrun. A Monitor data overrun has occurred. This can only happen when Monitor clock stretching not enabled via the MONCLKSTR bit in the CFG register. Writing 1 to this bit clears the flag.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>MONACTIVE</name>
              <description>Monitor Active flag. Indicates when the Monitor function considers the I 2C bus to be active. Active is defined here as when some Master is on the bus: a bus Start has occurred more recently than a bus Stop.</description>
              <bitOffset>18</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>INACTIVE</name>
                  <description>Inactive. The Monitor function considers the I2C bus to be inactive.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ACTIVE</name>
                  <description>Active. The Monitor function considers the I2C bus to be active.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>MONIDLE</name>
              <description>Monitor Idle flag. This flag is set when the Monitor function sees the I2C bus change from active to inactive. This can be used by software to decide when to process data accumulated by the Monitor function. This flag will cause an interrupt when set if enabled via the INTENSET register. The flag can be cleared by writing a 1 to this bit.</description>
              <bitOffset>19</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>NOT_IDLE</name>
                  <description>Not idle. The I2C bus is not idle, or this flag has been cleared by software.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>IDLE</name>
                  <description>Idle. The I2C bus has gone idle at least once since the last time this flag was cleared by software.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>EVENTTIMEOUT</name>
              <description>Event Time-out Interrupt flag. Indicates when the time between events has been longer than the time specified by the TIMEOUT register. Events include Start, Stop, and clock edges. The flag is cleared by writing a 1 to this bit. No time-out is created when the I2C-bus is idle.</description>
              <bitOffset>24</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>NO_TIMEOUT</name>
                  <description>No time-out. I2C bus events have not caused a time-out.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>EVEN_TIMEOUT</name>
                  <description>Event time-out. The time between I2C bus events has been longer than the time specified by the TIMEOUT register.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>SCLTIMEOUT</name>
              <description>SCL Time-out Interrupt flag. Indicates when SCL has remained low longer than the time specific by the TIMEOUT register. The flag is cleared by writing a 1 to this bit.</description>
              <bitOffset>25</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>NO_TIMEOUT</name>
                  <description>No time-out. SCL low time has not caused a time-out.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>TIMEOUT</name>
                  <description>Time-out. SCL low time has caused a time-out.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>INTENSET</name>
          <description>Interrupt Enable Set and read register.</description>
          <addressOffset>0x808</addressOffset>
          <size>32</size>
          <access>read-write</access>
          <resetValue>0</resetValue>
          <resetMask>0x30B8951</resetMask>
          <fields>
            <field>
              <name>MSTPENDINGEN</name>
              <description>Master Pending interrupt Enable.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>DISABLED</name>
                  <description>Disabled. The MstPending interrupt is disabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ENABLED</name>
                  <description>Enabled. The MstPending interrupt is enabled.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>MSTARBLOSSEN</name>
              <description>Master Arbitration Loss interrupt Enable.</description>
              <bitOffset>4</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>DISABLED</name>
                  <description>Disabled. The MstArbLoss interrupt is disabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ENABLED</name>
                  <description>Enabled. The MstArbLoss interrupt is enabled.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>MSTSTSTPERREN</name>
              <description>Master Start/Stop Error interrupt Enable.</description>
              <bitOffset>6</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>DISABLED</name>
                  <description>Disabled. The MstStStpErr interrupt is disabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ENABLED</name>
                  <description>Enabled. The MstStStpErr interrupt is enabled.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>SLVPENDINGEN</name>
              <description>Slave Pending interrupt Enable.</description>
              <bitOffset>8</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>DISABLED</name>
                  <description>Disabled. The SlvPending interrupt is disabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ENABLED</name>
                  <description>Enabled. The SlvPending interrupt is enabled.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>SLVNOTSTREN</name>
              <description>Slave Not Stretching interrupt Enable.</description>
              <bitOffset>11</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>DISABLED</name>
                  <description>Disabled. The SlvNotStr interrupt is disabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ENABLED</name>
                  <description>Enabled. The SlvNotStr interrupt is enabled.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>SLVDESELEN</name>
              <description>Slave Deselect interrupt Enable.</description>
              <bitOffset>15</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>DISABLED</name>
                  <description>Disabled. The SlvDeSel interrupt is disabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ENABLED</name>
                  <description>Enabled. The SlvDeSel interrupt is enabled.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>MONRDYEN</name>
              <description>Monitor data Ready interrupt Enable.</description>
              <bitOffset>16</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>DISABLED</name>
                  <description>Disabled. The MonRdy interrupt is disabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ENABLED</name>
                  <description>Enabled. The MonRdy interrupt is enabled.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>MONOVEN</name>
              <description>Monitor Overrun interrupt Enable.</description>
              <bitOffset>17</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>DISABLED</name>
                  <description>Disabled. The MonOv interrupt is disabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ENABLED</name>
                  <description>Enabled. The MonOv interrupt is enabled.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>MONIDLEEN</name>
              <description>Monitor Idle interrupt Enable.</description>
              <bitOffset>19</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>DISABLED</name>
                  <description>Disabled. The MonIdle interrupt is disabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ENABLED</name>
                  <description>Enabled. The MonIdle interrupt is enabled.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>EVENTTIMEOUTEN</name>
              <description>Event time-out interrupt Enable.</description>
              <bitOffset>24</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>DISABLED</name>
                  <description>Disabled. The Event time-out interrupt is disabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ENABLED</name>
                  <description>Enabled. The Event time-out interrupt is enabled.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>SCLTIMEOUTEN</name>
              <description>SCL time-out interrupt Enable.</description>
              <bitOffset>25</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>DISABLED</name>
                  <description>Disabled. The SCL time-out interrupt is disabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ENABLED</name>
                  <description>Enabled. The SCL time-out interrupt is enabled.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>INTENCLR</name>
          <description>Interrupt Enable Clear register.</description>
          <addressOffset>0x80C</addressOffset>
          <size>32</size>
          <access>write-only</access>
          <resetValue>0</resetValue>
          <resetMask>0</resetMask>
          <fields>
            <field>
              <name>MSTPENDINGCLR</name>
              <description>Master Pending interrupt clear. Writing 1 to this bit clears the corresponding bit in the INTENSET register if implemented.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <access>write-only</access>
            </field>
            <field>
              <name>MSTARBLOSSCLR</name>
              <description>Master Arbitration Loss interrupt clear.</description>
              <bitOffset>4</bitOffset>
              <bitWidth>1</bitWidth>
              <access>write-only</access>
            </field>
            <field>
              <name>MSTSTSTPERRCLR</name>
              <description>Master Start/Stop Error interrupt clear.</description>
              <bitOffset>6</bitOffset>
              <bitWidth>1</bitWidth>
              <access>write-only</access>
            </field>
            <field>
              <name>SLVPENDINGCLR</name>
              <description>Slave Pending interrupt clear.</description>
              <bitOffset>8</bitOffset>
              <bitWidth>1</bitWidth>
              <access>write-only</access>
            </field>
            <field>
              <name>SLVNOTSTRCLR</name>
              <description>Slave Not Stretching interrupt clear.</description>
              <bitOffset>11</bitOffset>
              <bitWidth>1</bitWidth>
              <access>write-only</access>
            </field>
            <field>
              <name>SLVDESELCLR</name>
              <description>Slave Deselect interrupt clear.</description>
              <bitOffset>15</bitOffset>
              <bitWidth>1</bitWidth>
              <access>write-only</access>
            </field>
            <field>
              <name>MONRDYCLR</name>
              <description>Monitor data Ready interrupt clear.</description>
              <bitOffset>16</bitOffset>
              <bitWidth>1</bitWidth>
              <access>write-only</access>
            </field>
            <field>
              <name>MONOVCLR</name>
              <description>Monitor Overrun interrupt clear.</description>
              <bitOffset>17</bitOffset>
              <bitWidth>1</bitWidth>
              <access>write-only</access>
            </field>
            <field>
              <name>MONIDLECLR</name>
              <description>Monitor Idle interrupt clear.</description>
              <bitOffset>19</bitOffset>
              <bitWidth>1</bitWidth>
              <access>write-only</access>
            </field>
            <field>
              <name>EVENTTIMEOUTCLR</name>
              <description>Event time-out interrupt clear.</description>
              <bitOffset>24</bitOffset>
              <bitWidth>1</bitWidth>
              <access>write-only</access>
            </field>
            <field>
              <name>SCLTIMEOUTCLR</name>
              <description>SCL time-out interrupt clear.</description>
              <bitOffset>25</bitOffset>
              <bitWidth>1</bitWidth>
              <access>write-only</access>
            </field>
          </fields>
        </register>
        <register>
          <name>TIMEOUT</name>
          <description>Time-out value register.</description>
          <addressOffset>0x810</addressOffset>
          <size>32</size>
          <access>read-write</access>
          <resetValue>0xFFFF</resetValue>
          <resetMask>0xFFFF</resetMask>
          <fields>
            <field>
              <name>TOMIN</name>
              <description>Time-out time value, bottom four bits. These are hard-wired to 0xF. This gives a minimum time-out of 16 I2C function clocks and also a time-out resolution of 16 I2C function clocks.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>4</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>TO</name>
              <description>Time-out time value. Specifies the time-out interval value in increments of 16 I 2C function clocks, as defined by the CLKDIV register. To change this value while I2C is in operation, disable all time-outs, write a new value to TIMEOUT, then re-enable time-outs. 0x000 = A time-out will occur after 16 counts of the I2C function clock. 0x001 = A time-out will occur after 32 counts of the I2C function clock. 0xFFF = A time-out will occur after 65,536 counts of the I2C function clock.</description>
              <bitOffset>4</bitOffset>
              <bitWidth>12</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>CLKDIV</name>
          <description>Clock pre-divider for the entire I2C interface. This determines what time increments are used for the MSTTIME register, and controls some timing of the Slave function.</description>
          <addressOffset>0x814</addressOffset>
          <size>32</size>
          <access>read-write</access>
          <resetValue>0</resetValue>
          <resetMask>0xFFFF</resetMask>
          <fields>
            <field>
              <name>DIVVAL</name>
              <description>This field controls how the Flexcomm clock (FCLK) is used by the I2C functions that need an internal clock in order to operate. 0x0000 = FCLK is used directly by the I2C. 0x0001 = FCLK is divided by 2 before use. 0x0002 = FCLK is divided by 3 before use. 0xFFFF = FCLK is divided by 65,536 before use.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>16</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>INTSTAT</name>
          <description>Interrupt Status register for Master, Slave, and Monitor functions.</description>
          <addressOffset>0x818</addressOffset>
          <size>32</size>
          <access>read-only</access>
          <resetValue>0x801</resetValue>
          <resetMask>0x30B8951</resetMask>
          <fields>
            <field>
              <name>MSTPENDING</name>
              <description>Master Pending.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
            </field>
            <field>
              <name>MSTARBLOSS</name>
              <description>Master Arbitration Loss flag.</description>
              <bitOffset>4</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
            </field>
            <field>
              <name>MSTSTSTPERR</name>
              <description>Master Start/Stop Error flag.</description>
              <bitOffset>6</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
            </field>
            <field>
              <name>SLVPENDING</name>
              <description>Slave Pending.</description>
              <bitOffset>8</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
            </field>
            <field>
              <name>SLVNOTSTR</name>
              <description>Slave Not Stretching status.</description>
              <bitOffset>11</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
            </field>
            <field>
              <name>SLVDESEL</name>
              <description>Slave Deselected flag.</description>
              <bitOffset>15</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
            </field>
            <field>
              <name>MONRDY</name>
              <description>Monitor Ready.</description>
              <bitOffset>16</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
            </field>
            <field>
              <name>MONOV</name>
              <description>Monitor Overflow flag.</description>
              <bitOffset>17</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
            </field>
            <field>
              <name>MONIDLE</name>
              <description>Monitor Idle flag.</description>
              <bitOffset>19</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
            </field>
            <field>
              <name>EVENTTIMEOUT</name>
              <description>Event time-out Interrupt flag.</description>
              <bitOffset>24</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
            </field>
            <field>
              <name>SCLTIMEOUT</name>
              <description>SCL time-out Interrupt flag.</description>
              <bitOffset>25</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
            </field>
          </fields>
        </register>
        <register>
          <name>MSTCTL</name>
          <description>Master control register.</description>
          <addressOffset>0x820</addressOffset>
          <size>32</size>
          <access>read-write</access>
          <resetValue>0</resetValue>
          <resetMask>0xE</resetMask>
          <fields>
            <field>
              <name>MSTCONTINUE</name>
              <description>Master Continue. This bit is write-only.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <access>write-only</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>NO_EFFECT</name>
                  <description>No effect.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>CONTINUE</name>
                  <description>Continue. Informs the Master function to continue to the next operation. This must done after writing transmit data, reading received data, or any other housekeeping related to the next bus operation.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>MSTSTART</name>
              <description>Master Start control. This bit is write-only.</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>NO_EFFECT</name>
                  <description>No effect.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>START</name>
                  <description>Start. A Start will be generated on the I2C bus at the next allowed time.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>MSTSTOP</name>
              <description>Master Stop control. This bit is write-only.</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>NO_EFFECT</name>
                  <description>No effect.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>STOP</name>
                  <description>Stop. A Stop will be generated on the I2C bus at the next allowed time, preceded by a NACK to the slave if the master is receiving data from the slave (Master Receiver mode).</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>MSTDMA</name>
              <description>Master DMA enable. Data operations of the I2C can be performed with DMA. Protocol type operations such as Start, address, Stop, and address match must always be done with software, typically via an interrupt. Address acknowledgement must also be done by software except when the I2C is configured to be HSCAPABLE (and address acknowledgement is handled entirely by hardware) or when Automatic Operation is enabled. When a DMA data transfer is complete, MSTDMA must be cleared prior to beginning the next operation, typically a Start or Stop.This bit is read/write.</description>
              <bitOffset>3</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>DISABLED</name>
                  <description>Disable. No DMA requests are generated for master operation.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ENABLED</name>
                  <description>Enable. A DMA request is generated for I2C master data operations. When this I2C master is generating Acknowledge bits in Master Receiver mode, the acknowledge is generated automatically.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>MSTTIME</name>
          <description>Master timing configuration.</description>
          <addressOffset>0x824</addressOffset>
          <size>32</size>
          <access>read-write</access>
          <resetValue>0x77</resetValue>
          <resetMask>0x77</resetMask>
          <fields>
            <field>
              <name>MSTSCLLOW</name>
              <description>Master SCL Low time. Specifies the minimum low time that will be asserted by this master on SCL. Other devices on the bus (masters or slaves) could lengthen this time. This corresponds to the parameter t LOW in the I2C bus specification. I2C bus specification parameters tBUF and tSU;STA have the same values and are also controlled by MSTSCLLOW.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>3</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>CLOCKS_2</name>
                  <description>2 clocks. Minimum SCL low time is 2 clocks of the I2C clock pre-divider.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>CLOCKS_3</name>
                  <description>3 clocks. Minimum SCL low time is 3 clocks of the I2C clock pre-divider.</description>
                  <value>0x1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>CLOCKS_4</name>
                  <description>4 clocks. Minimum SCL low time is 4 clocks of the I2C clock pre-divider.</description>
                  <value>0x2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>CLOCKS_5</name>
                  <description>5 clocks. Minimum SCL low time is 5 clocks of the I2C clock pre-divider.</description>
                  <value>0x3</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>CLOCKS_6</name>
                  <description>6 clocks. Minimum SCL low time is 6 clocks of the I2C clock pre-divider.</description>
                  <value>0x4</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>CLOCKS_7</name>
                  <description>7 clocks. Minimum SCL low time is 7 clocks of the I2C clock pre-divider.</description>
                  <value>0x5</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>CLOCKS_8</name>
                  <description>8 clocks. Minimum SCL low time is 8 clocks of the I2C clock pre-divider.</description>
                  <value>0x6</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>CLOCKS_9</name>
                  <description>9 clocks. Minimum SCL low time is 9 clocks of the I2C clock pre-divider.</description>
                  <value>0x7</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>MSTSCLHIGH</name>
              <description>Master SCL High time. Specifies the minimum high time that will be asserted by this master on SCL. Other masters in a multi-master system could shorten this time. This corresponds to the parameter tHIGH in the I2C bus specification. I2C bus specification parameters tSU;STO and tHD;STA have the same values and are also controlled by MSTSCLHIGH.</description>
              <bitOffset>4</bitOffset>
              <bitWidth>3</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>CLOCKS_2</name>
                  <description>2 clocks. Minimum SCL high time is 2 clock of the I2C clock pre-divider.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>CLOCKS_3</name>
                  <description>3 clocks. Minimum SCL high time is 3 clocks of the I2C clock pre-divider .</description>
                  <value>0x1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>CLOCKS_4</name>
                  <description>4 clocks. Minimum SCL high time is 4 clock of the I2C clock pre-divider.</description>
                  <value>0x2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>CLOCKS_5</name>
                  <description>5 clocks. Minimum SCL high time is 5 clock of the I2C clock pre-divider.</description>
                  <value>0x3</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>CLOCKS_6</name>
                  <description>6 clocks. Minimum SCL high time is 6 clock of the I2C clock pre-divider.</description>
                  <value>0x4</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>CLOCKS_7</name>
                  <description>7 clocks. Minimum SCL high time is 7 clock of the I2C clock pre-divider.</description>
                  <value>0x5</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>CLOCKS_8</name>
                  <description>8 clocks. Minimum SCL high time is 8 clock of the I2C clock pre-divider.</description>
                  <value>0x6</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>CLOCKS_9</name>
                  <description>9 clocks. Minimum SCL high time is 9 clocks of the I2C clock pre-divider.</description>
                  <value>0x7</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>MSTDAT</name>
          <description>Combined Master receiver and transmitter data register.</description>
          <addressOffset>0x828</addressOffset>
          <size>32</size>
          <access>read-write</access>
          <resetValue>0</resetValue>
          <resetMask>0xFF</resetMask>
          <fields>
            <field>
              <name>DATA</name>
              <description>Master function data register. Read: read the most recently received data for the Master function. Write: transmit data using the Master function.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>8</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>SLVCTL</name>
          <description>Slave control register.</description>
          <addressOffset>0x840</addressOffset>
          <size>32</size>
          <access>read-write</access>
          <resetValue>0</resetValue>
          <resetMask>0x30B</resetMask>
          <fields>
            <field>
              <name>SLVCONTINUE</name>
              <description>Slave Continue.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>NO_EFFECT</name>
                  <description>No effect.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>CONTINUE</name>
                  <description>Continue. Informs the Slave function to continue to the next operation, by clearing the SLVPENDING flag in the STAT register. This must be done after writing transmit data, reading received data, or any other housekeeping related to the next bus operation. Automatic Operation has different requirements. SLVCONTINUE should not be set unless SLVPENDING = 1.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>SLVNACK</name>
              <description>Slave NACK.</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>NO_EFFECT</name>
                  <description>No effect.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>NACK</name>
                  <description>NACK. Causes the Slave function to NACK the master when the slave is receiving data from the master (Slave Receiver mode).</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>SLVDMA</name>
              <description>Slave DMA enable.</description>
              <bitOffset>3</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>DISABLED</name>
                  <description>Disabled. No DMA requests are issued for Slave mode operation.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ENABLED</name>
                  <description>Enabled. DMA requests are issued for I2C slave data transmission and reception.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>AUTOACK</name>
              <description>Automatic Acknowledge.When this bit is set, it will cause an I2C header which matches SLVADR0 and the direction set by AUTOMATCHREAD to be ACKed immediately; this is used with DMA to allow processing of the data without intervention. If this bit is clear and a header matches SLVADR0, the behavior is controlled by AUTONACK in the SLVADR0 register: allowing NACK or interrupt.</description>
              <bitOffset>8</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>NORMAL</name>
                  <description>Normal, non-automatic operation. If AUTONACK = 0, an SlvPending interrupt is generated when a matching address is received. If AUTONACK = 1, received addresses are NACKed (ignored).</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>AUTOMATIC_ACK</name>
                  <description>A header with matching SLVADR0 and matching direction as set by AUTOMATCHREAD will be ACKed immediately, allowing the master to move on to the data bytes. If the address matches SLVADR0, but the direction does not match AUTOMATCHREAD, the behavior will depend on the AUTONACK bit in the SLVADR0 register: if AUTONACK is set, then it will be Nacked; else if AUTONACK is clear, then a SlvPending interrupt is generated.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>AUTOMATCHREAD</name>
              <description>When AUTOACK is set, this bit controls whether it matches a read or write request on the next header with an address matching SLVADR0. Since DMA needs to be configured to match the transfer direction, the direction needs to be specified. This bit allows a direction to be chosen for the next operation.</description>
              <bitOffset>9</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>I2C_WRITE</name>
                  <description>The expected next operation in Automatic Mode is an I2C write.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>I2C_READ</name>
                  <description>The expected next operation in Automatic Mode is an I2C read.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>SLVDAT</name>
          <description>Combined Slave receiver and transmitter data register.</description>
          <addressOffset>0x844</addressOffset>
          <size>32</size>
          <access>read-write</access>
          <resetValue>0</resetValue>
          <resetMask>0xFF</resetMask>
          <fields>
            <field>
              <name>DATA</name>
              <description>Slave function data register. Read: read the most recently received data for the Slave function. Write: transmit data using the Slave function.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>8</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <dim>4</dim>
          <dimIncrement>0x4</dimIncrement>
          <name>SLVADR[%s]</name>
          <description>Slave address register.</description>
          <addressOffset>0x848</addressOffset>
          <size>32</size>
          <access>read-write</access>
          <resetValue>0x1</resetValue>
          <resetMask>0xFF</resetMask>
          <fields>
            <field>
              <name>SADISABLE</name>
              <description>Slave Address n Disable.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>ENABLED</name>
                  <description>Enabled. Slave Address n is enabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>DISABLED</name>
                  <description>Ignored Slave Address n is ignored.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>SLVADR</name>
              <description>Slave Address. Seven bit slave address that is compared to received addresses if enabled.</description>
              <bitOffset>1</bitOffset>
              <bitWidth>7</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>AUTONACK</name>
              <description>Automatic NACK operation. Used in conjunction with AUTOACK and AUTOMATCHREAD, allows software to ignore I2C traffic while handling previous I2C data or other operations.</description>
              <bitOffset>15</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>NORMAL</name>
                  <description>Normal operation, matching I2C addresses are not ignored.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>AUTOMATIC</name>
                  <description>Automatic-only mode. All incoming addresses are ignored (NACKed), unless AUTOACK is set, it matches SLVADRn, and AUTOMATCHREAD matches the direction.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>SLVQUAL0</name>
          <description>Slave Qualification for address 0.</description>
          <addressOffset>0x858</addressOffset>
          <size>32</size>
          <access>read-write</access>
          <resetValue>0</resetValue>
          <resetMask>0xFF</resetMask>
          <fields>
            <field>
              <name>QUALMODE0</name>
              <description>Qualify mode for slave address 0.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>MASK</name>
                  <description>Mask. The SLVQUAL0 field is used as a logical mask for matching address 0.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>EXTEND</name>
                  <description>Extend. The SLVQUAL0 field is used to extend address 0 matching in a range of addresses.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>SLVQUAL0</name>
              <description>Slave address Qualifier for address 0. A value of 0 causes the address in SLVADR0 to be used as-is, assuming that it is enabled. If QUALMODE0 = 0, any bit in this field which is set to 1 will cause an automatic match of the corresponding bit of the received address when it is compared to the SLVADR0 register. If QUALMODE0 = 1, an address range is matched for address 0. This range extends from the value defined by SLVADR0 to the address defined by SLVQUAL0 (address matches when SLVADR0[7:1] &lt;= received address &lt;= SLVQUAL0[7:1]).</description>
              <bitOffset>1</bitOffset>
              <bitWidth>7</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>MONRXDAT</name>
          <description>Monitor receiver data register.</description>
          <addressOffset>0x880</addressOffset>
          <size>32</size>
          <access>read-only</access>
          <resetValue>0</resetValue>
          <resetMask>0x7FF</resetMask>
          <fields>
            <field>
              <name>MONRXDAT</name>
              <description>Monitor function Receiver Data. This reflects every data byte that passes on the I2C pins.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>8</bitWidth>
              <access>read-only</access>
            </field>
            <field>
              <name>MONSTART</name>
              <description>Monitor Received Start.</description>
              <bitOffset>8</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>NO_START_DETECTED</name>
                  <description>No start detected. The Monitor function has not detected a Start event on the I2C bus.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>START_DETECTED</name>
                  <description>Start detected. The Monitor function has detected a Start event on the I2C bus.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>MONRESTART</name>
              <description>Monitor Received Repeated Start.</description>
              <bitOffset>9</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>NOT_DETECTED</name>
                  <description>No repeated start detected. The Monitor function has not detected a Repeated Start event on the I2C bus.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>DETECTED</name>
                  <description>Repeated start detected. The Monitor function has detected a Repeated Start event on the I2C bus.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>MONNACK</name>
              <description>Monitor Received NACK.</description>
              <bitOffset>10</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>ACKNOWLEDGED</name>
                  <description>Acknowledged. The data currently being provided by the Monitor function was acknowledged by at least one master or slave receiver.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>NOT_ACKNOWLEDGED</name>
                  <description>Not acknowledged. The data currently being provided by the Monitor function was not acknowledged by any receiver.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>ID</name>
          <description>Peripheral identification register.</description>
          <addressOffset>0xFFC</addressOffset>
          <size>32</size>
          <access>read-only</access>
          <resetValue>0</resetValue>
          <resetMask>0xFFFFFFFF</resetMask>
          <fields>
            <field>
              <name>APERTURE</name>
              <description>Aperture: encoded as (aperture size/4K) -1, so 0x00 means a 4K aperture.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>8</bitWidth>
              <access>read-only</access>
            </field>
            <field>
              <name>MINOR_REV</name>
              <description>Minor revision of module implementation.</description>
              <bitOffset>8</bitOffset>
              <bitWidth>4</bitWidth>
              <access>read-only</access>
            </field>
            <field>
              <name>MAJOR_REV</name>
              <description>Major revision of module implementation.</description>
              <bitOffset>12</bitOffset>
              <bitWidth>4</bitWidth>
              <access>read-only</access>
            </field>
            <field>
              <name>ID</name>
              <description>Module identifier for the selected function.</description>
              <bitOffset>16</bitOffset>
              <bitWidth>16</bitWidth>
              <access>read-only</access>
            </field>
          </fields>
        </register>
      </registers>
    </peripheral>
    <peripheral derivedFrom="I2C0">
      <name>I2C1</name>
      <description>LPC51u68 I2C-bus interfaces</description>
      <alternatePeripheral>FLEXCOMM1</alternatePeripheral>
      <groupName>I2C</groupName>
      <baseAddress>0x40087000</baseAddress>
      <addressBlock>
        <offset>0</offset>
        <size>0x1000</size>
        <usage>registers</usage>
      </addressBlock>
      <interrupt>
        <name>FLEXCOMM1</name>
        <value>15</value>
      </interrupt>
    </peripheral>
    <peripheral derivedFrom="I2C0">
      <name>I2C2</name>
      <description>LPC51u68 I2C-bus interfaces</description>
      <alternatePeripheral>FLEXCOMM2</alternatePeripheral>
      <groupName>I2C</groupName>
      <baseAddress>0x40088000</baseAddress>
      <addressBlock>
        <offset>0</offset>
        <size>0x1000</size>
        <usage>registers</usage>
      </addressBlock>
      <interrupt>
        <name>FLEXCOMM2</name>
        <value>16</value>
      </interrupt>
    </peripheral>
    <peripheral derivedFrom="I2C0">
      <name>I2C3</name>
      <description>LPC51u68 I2C-bus interfaces</description>
      <alternatePeripheral>FLEXCOMM3</alternatePeripheral>
      <groupName>I2C</groupName>
      <baseAddress>0x40089000</baseAddress>
      <addressBlock>
        <offset>0</offset>
        <size>0x1000</size>
        <usage>registers</usage>
      </addressBlock>
      <interrupt>
        <name>FLEXCOMM3</name>
        <value>17</value>
      </interrupt>
    </peripheral>
    <peripheral derivedFrom="I2C0">
      <name>I2C4</name>
      <description>LPC51u68 I2C-bus interfaces</description>
      <alternatePeripheral>FLEXCOMM4</alternatePeripheral>
      <groupName>I2C</groupName>
      <baseAddress>0x4008A000</baseAddress>
      <addressBlock>
        <offset>0</offset>
        <size>0x1000</size>
        <usage>registers</usage>
      </addressBlock>
      <interrupt>
        <name>FLEXCOMM4</name>
        <value>18</value>
      </interrupt>
    </peripheral>
    <peripheral derivedFrom="I2C0">
      <name>I2C5</name>
      <description>LPC51u68 I2C-bus interfaces</description>
      <alternatePeripheral>FLEXCOMM5</alternatePeripheral>
      <groupName>I2C</groupName>
      <baseAddress>0x40096000</baseAddress>
      <addressBlock>
        <offset>0</offset>
        <size>0x1000</size>
        <usage>registers</usage>
      </addressBlock>
      <interrupt>
        <name>FLEXCOMM5</name>
        <value>19</value>
      </interrupt>
    </peripheral>
    <peripheral derivedFrom="I2C0">
      <name>I2C6</name>
      <description>LPC51u68 I2C-bus interfaces</description>
      <alternatePeripheral>FLEXCOMM6</alternatePeripheral>
      <groupName>I2C</groupName>
      <baseAddress>0x40097000</baseAddress>
      <addressBlock>
        <offset>0</offset>
        <size>0x1000</size>
        <usage>registers</usage>
      </addressBlock>
      <interrupt>
        <name>FLEXCOMM6</name>
        <value>20</value>
      </interrupt>
    </peripheral>
    <peripheral derivedFrom="I2C0">
      <name>I2C7</name>
      <description>LPC51u68 I2C-bus interfaces</description>
      <alternatePeripheral>FLEXCOMM7</alternatePeripheral>
      <groupName>I2C</groupName>
      <baseAddress>0x40098000</baseAddress>
      <addressBlock>
        <offset>0</offset>
        <size>0x1000</size>
        <usage>registers</usage>
      </addressBlock>
      <interrupt>
        <name>FLEXCOMM7</name>
        <value>21</value>
      </interrupt>
    </peripheral>
    <peripheral>
      <name>SPI0</name>
      <description>LPC51u68 Serial Peripheral Interfaces (SPI)</description>
      <alternatePeripheral>FLEXCOMM0</alternatePeripheral>
      <groupName>SPI</groupName>
      <headerStructName>SPI</headerStructName>
      <baseAddress>0x40086000</baseAddress>
      <addressBlock>
        <offset>0</offset>
        <size>0x1000</size>
        <usage>registers</usage>
      </addressBlock>
      <interrupt>
        <name>FLEXCOMM0</name>
        <value>14</value>
      </interrupt>
      <registers>
        <register>
          <name>CFG</name>
          <description>SPI Configuration register</description>
          <addressOffset>0x400</addressOffset>
          <size>32</size>
          <access>read-write</access>
          <resetValue>0</resetValue>
          <resetMask>0xFBD</resetMask>
          <fields>
            <field>
              <name>ENABLE</name>
              <description>SPI enable.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>DISABLED</name>
                  <description>Disabled. The SPI is disabled and the internal state machine and counters are reset.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ENABLED</name>
                  <description>Enabled. The SPI is enabled for operation.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>MASTER</name>
              <description>Master mode select.</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>SLAVE_MODE</name>
                  <description>Slave mode. The SPI will operate in slave mode. SCK, MOSI, and the SSEL signals are inputs, MISO is an output.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>MASTER_MODE</name>
                  <description>Master mode. The SPI will operate in master mode. SCK, MOSI, and the SSEL signals are outputs, MISO is an input.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>LSBF</name>
              <description>LSB First mode enable.</description>
              <bitOffset>3</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>STANDARD</name>
                  <description>Standard. Data is transmitted and received in standard MSB first order.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>REVERSE</name>
                  <description>Reverse. Data is transmitted and received in reverse order (LSB first).</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>CPHA</name>
              <description>Clock Phase select.</description>
              <bitOffset>4</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>CHANGE</name>
                  <description>Change. The SPI captures serial data on the first clock transition of the transfer (when the clock changes away from the rest state). Data is changed on the following edge.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>CAPTURE</name>
                  <description>Capture. The SPI changes serial data on the first clock transition of the transfer (when the clock changes away from the rest state). Data is captured on the following edge.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>CPOL</name>
              <description>Clock Polarity select.</description>
              <bitOffset>5</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>LOW</name>
                  <description>Low. The rest state of the clock (between transfers) is low.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>HIGH</name>
                  <description>High. The rest state of the clock (between transfers) is high.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>LOOP</name>
              <description>Loopback mode enable. Loopback mode applies only to Master mode, and connects transmit and receive data connected together to allow simple software testing.</description>
              <bitOffset>7</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>DISABLED</name>
                  <description>Disabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ENABLED</name>
                  <description>Enabled.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>SPOL0</name>
              <description>SSEL0 Polarity select.</description>
              <bitOffset>8</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>LOW</name>
                  <description>Low. The SSEL0 pin is active low.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>HIGH</name>
                  <description>High. The SSEL0 pin is active high.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>SPOL1</name>
              <description>SSEL1 Polarity select.</description>
              <bitOffset>9</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>LOW</name>
                  <description>Low. The SSEL1 pin is active low.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>HIGH</name>
                  <description>High. The SSEL1 pin is active high.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>SPOL2</name>
              <description>SSEL2 Polarity select.</description>
              <bitOffset>10</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>LOW</name>
                  <description>Low. The SSEL2 pin is active low.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>HIGH</name>
                  <description>High. The SSEL2 pin is active high.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>SPOL3</name>
              <description>SSEL3 Polarity select.</description>
              <bitOffset>11</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>LOW</name>
                  <description>Low. The SSEL3 pin is active low.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>HIGH</name>
                  <description>High. The SSEL3 pin is active high.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>DLY</name>
          <description>SPI Delay register</description>
          <addressOffset>0x404</addressOffset>
          <size>32</size>
          <access>read-write</access>
          <resetValue>0</resetValue>
          <resetMask>0xFFFF</resetMask>
          <fields>
            <field>
              <name>PRE_DELAY</name>
              <description>Controls the amount of time between SSEL assertion and the beginning of a data transfer. There is always one SPI clock time between SSEL assertion and the first clock edge. This is not considered part of the pre-delay. 0x0 = No additional time is inserted. 0x1 = 1 SPI clock time is inserted. 0x2 = 2 SPI clock times are inserted. 0xF = 15 SPI clock times are inserted.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>4</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>POST_DELAY</name>
              <description>Controls the amount of time between the end of a data transfer and SSEL deassertion. 0x0 = No additional time is inserted. 0x1 = 1 SPI clock time is inserted. 0x2 = 2 SPI clock times are inserted. 0xF = 15 SPI clock times are inserted.</description>
              <bitOffset>4</bitOffset>
              <bitWidth>4</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>FRAME_DELAY</name>
              <description>If the EOF flag is set, controls the minimum amount of time between the current frame and the next frame (or SSEL deassertion if EOT). 0x0 = No additional time is inserted. 0x1 = 1 SPI clock time is inserted. 0x2 = 2 SPI clock times are inserted. 0xF = 15 SPI clock times are inserted.</description>
              <bitOffset>8</bitOffset>
              <bitWidth>4</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>TRANSFER_DELAY</name>
              <description>Controls the minimum amount of time that the SSEL is deasserted between transfers. 0x0 = The minimum time that SSEL is deasserted is 1 SPI clock time. (Zero added time.) 0x1 = The minimum time that SSEL is deasserted is 2 SPI clock times. 0x2 = The minimum time that SSEL is deasserted is 3 SPI clock times. 0xF = The minimum time that SSEL is deasserted is 16 SPI clock times.</description>
              <bitOffset>12</bitOffset>
              <bitWidth>4</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>STAT</name>
          <description>SPI Status. Some status flags can be cleared by writing a 1 to that bit position.</description>
          <addressOffset>0x408</addressOffset>
          <size>32</size>
          <access>read-write</access>
          <resetValue>0x100</resetValue>
          <resetMask>0x1C0</resetMask>
          <fields>
            <field>
              <name>SSA</name>
              <description>Slave Select Assert. This flag is set whenever any slave select transitions from deasserted to asserted, in both master and slave modes. This allows determining when the SPI transmit/receive functions become busy, and allows waking up the device from reduced power modes when a slave mode access begins. This flag is cleared by software.</description>
              <bitOffset>4</bitOffset>
              <bitWidth>1</bitWidth>
              <access>write-only</access>
            </field>
            <field>
              <name>SSD</name>
              <description>Slave Select Deassert. This flag is set whenever any asserted slave selects transition to deasserted, in both master and slave modes. This allows determining when the SPI transmit/receive functions become idle. This flag is cleared by software.</description>
              <bitOffset>5</bitOffset>
              <bitWidth>1</bitWidth>
              <access>write-only</access>
            </field>
            <field>
              <name>STALLED</name>
              <description>Stalled status flag. This indicates whether the SPI is currently in a stall condition.</description>
              <bitOffset>6</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
            </field>
            <field>
              <name>ENDTRANSFER</name>
              <description>End Transfer control bit. Software can set this bit to force an end to the current transfer when the transmitter finishes any activity already in progress, as if the EOT flag had been set prior to the last transmission. This capability is included to support cases where it is not known when transmit data is written that it will be the end of a transfer. The bit is cleared when the transmitter becomes idle as the transfer comes to an end. Forcing an end of transfer in this manner causes any specified FRAME_DELAY and TRANSFER_DELAY to be inserted.</description>
              <bitOffset>7</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>MSTIDLE</name>
              <description>Master idle status flag. This bit is 1 whenever the SPI master function is fully idle. This means that the transmit holding register is empty and the transmitter is not in the process of sending data.</description>
              <bitOffset>8</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
            </field>
          </fields>
        </register>
        <register>
          <name>INTENSET</name>
          <description>SPI Interrupt Enable read and Set. A complete value may be read from this register. Writing a 1 to any implemented bit position causes that bit to be set.</description>
          <addressOffset>0x40C</addressOffset>
          <size>32</size>
          <access>read-write</access>
          <resetValue>0</resetValue>
          <resetMask>0x130</resetMask>
          <fields>
            <field>
              <name>SSAEN</name>
              <description>Slave select assert interrupt enable. Determines whether an interrupt occurs when the Slave Select is asserted.</description>
              <bitOffset>4</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>DISABLED</name>
                  <description>Disabled. No interrupt will be generated when any Slave Select transitions from deasserted to asserted.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ENABLED</name>
                  <description>Enabled. An interrupt will be generated when any Slave Select transitions from deasserted to asserted.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>SSDEN</name>
              <description>Slave select deassert interrupt enable. Determines whether an interrupt occurs when the Slave Select is deasserted.</description>
              <bitOffset>5</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>DISABLED</name>
                  <description>Disabled. No interrupt will be generated when all asserted Slave Selects transition to deasserted.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ENABLED</name>
                  <description>Enabled. An interrupt will be generated when all asserted Slave Selects transition to deasserted.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>MSTIDLEEN</name>
              <description>Master idle interrupt enable.</description>
              <bitOffset>8</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>DISABLED</name>
                  <description>No interrupt will be generated when the SPI master function is idle.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ENABLED</name>
                  <description>An interrupt will be generated when the SPI master function is fully idle.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>INTENCLR</name>
          <description>SPI Interrupt Enable Clear. Writing a 1 to any implemented bit position causes the corresponding bit in INTENSET to be cleared.</description>
          <addressOffset>0x410</addressOffset>
          <size>32</size>
          <access>write-only</access>
          <resetValue>0</resetValue>
          <resetMask>0</resetMask>
          <fields>
            <field>
              <name>SSAEN</name>
              <description>Writing 1 clears the corresponding bit in the INTENSET register.</description>
              <bitOffset>4</bitOffset>
              <bitWidth>1</bitWidth>
              <access>write-only</access>
            </field>
            <field>
              <name>SSDEN</name>
              <description>Writing 1 clears the corresponding bit in the INTENSET register.</description>
              <bitOffset>5</bitOffset>
              <bitWidth>1</bitWidth>
              <access>write-only</access>
            </field>
            <field>
              <name>MSTIDLE</name>
              <description>Writing 1 clears the corresponding bit in the INTENSET register.</description>
              <bitOffset>8</bitOffset>
              <bitWidth>1</bitWidth>
              <access>write-only</access>
            </field>
          </fields>
        </register>
        <register>
          <name>DIV</name>
          <description>SPI clock Divider</description>
          <addressOffset>0x424</addressOffset>
          <size>32</size>
          <access>read-write</access>
          <resetValue>0</resetValue>
          <resetMask>0xFFFF</resetMask>
          <fields>
            <field>
              <name>DIVVAL</name>
              <description>Rate divider value. Specifies how the Flexcomm clock (FCLK) is divided to produce the SPI clock rate in master mode. DIVVAL is -1 encoded such that the value 0 results in FCLK/1, the value 1 results in FCLK/2, up to the maximum possible divide value of 0xFFFF, which results in FCLK/65536.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>16</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>INTSTAT</name>
          <description>SPI Interrupt Status</description>
          <addressOffset>0x428</addressOffset>
          <size>32</size>
          <access>read-only</access>
          <resetValue>0</resetValue>
          <resetMask>0x130</resetMask>
          <fields>
            <field>
              <name>SSA</name>
              <description>Slave Select Assert.</description>
              <bitOffset>4</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
            </field>
            <field>
              <name>SSD</name>
              <description>Slave Select Deassert.</description>
              <bitOffset>5</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
            </field>
            <field>
              <name>MSTIDLE</name>
              <description>Master Idle status flag.</description>
              <bitOffset>8</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
            </field>
          </fields>
        </register>
        <register>
          <name>FIFOCFG</name>
          <description>FIFO configuration and enable register.</description>
          <addressOffset>0xE00</addressOffset>
          <size>32</size>
          <access>read-write</access>
          <resetValue>0</resetValue>
          <resetMask>0x7F033</resetMask>
          <fields>
            <field>
              <name>ENABLETX</name>
              <description>Enable the transmit FIFO.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>DISABLED</name>
                  <description>The transmit FIFO is not enabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ENABLED</name>
                  <description>The transmit FIFO is enabled.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>ENABLERX</name>
              <description>Enable the receive FIFO.</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>DISABLED</name>
                  <description>The receive FIFO is not enabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ENABLED</name>
                  <description>The receive FIFO is enabled.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>SIZE</name>
              <description>FIFO size configuration. This is a read-only field. 0x0 = FIFO is configured as 16 entries of 8 bits. 0x1, 0x2, 0x3 = not applicable to USART.</description>
              <bitOffset>4</bitOffset>
              <bitWidth>2</bitWidth>
              <access>read-only</access>
            </field>
            <field>
              <name>DMATX</name>
              <description>DMA configuration for transmit.</description>
              <bitOffset>12</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>DISABLED</name>
                  <description>DMA is not used for the transmit function.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ENABLED</name>
                  <description>Trigger DMA for the transmit function if the FIFO is not full. Generally, data interrupts would be disabled if DMA is enabled.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>DMARX</name>
              <description>DMA configuration for receive.</description>
              <bitOffset>13</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>DISABLED</name>
                  <description>DMA is not used for the receive function.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ENABLED</name>
                  <description>Trigger DMA for the receive function if the FIFO is not empty. Generally, data interrupts would be disabled if DMA is enabled.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>WAKETX</name>
              <description>Wake-up for transmit FIFO level. This allows the device to be woken from reduced power modes (up to power-down, as long as the peripheral function works in that power mode) without enabling the TXLVL interrupt. Only DMA wakes up, processes data, and goes back to sleep. The CPU will remain stopped until woken by another cause, such as DMA completion. See Hardware Wake-up control register.</description>
              <bitOffset>14</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>DISABLED</name>
                  <description>Only enabled interrupts will wake up the device form reduced power modes.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ENABLED</name>
                  <description>A device wake-up for DMA will occur if the transmit FIFO level reaches the value specified by TXLVL in FIFOTRIG, even when the TXLVL interrupt is not enabled.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>WAKERX</name>
              <description>Wake-up for receive FIFO level. This allows the device to be woken from reduced power modes (up to power-down, as long as the peripheral function works in that power mode) without enabling the TXLVL interrupt. Only DMA wakes up, processes data, and goes back to sleep. The CPU will remain stopped until woken by another cause, such as DMA completion. See Hardware Wake-up control register.</description>
              <bitOffset>15</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>DISABLED</name>
                  <description>Only enabled interrupts will wake up the device form reduced power modes.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ENABLED</name>
                  <description>A device wake-up for DMA will occur if the receive FIFO level reaches the value specified by RXLVL in FIFOTRIG, even when the RXLVL interrupt is not enabled.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>EMPTYTX</name>
              <description>Empty command for the transmit FIFO. When a 1 is written to this bit, the TX FIFO is emptied.</description>
              <bitOffset>16</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>EMPTYRX</name>
              <description>Empty command for the receive FIFO. When a 1 is written to this bit, the RX FIFO is emptied.</description>
              <bitOffset>17</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>FIFOSTAT</name>
          <description>FIFO status register.</description>
          <addressOffset>0xE04</addressOffset>
          <size>32</size>
          <access>read-write</access>
          <resetValue>0x30</resetValue>
          <resetMask>0x1F1FFB</resetMask>
          <fields>
            <field>
              <name>TXERR</name>
              <description>TX FIFO error. Will be set if a transmit FIFO error occurs. This could be an overflow caused by pushing data into a full FIFO, or by an underflow if the FIFO is empty when data is needed. Cleared by writing a 1 to this bit.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>RXERR</name>
              <description>RX FIFO error. Will be set if a receive FIFO overflow occurs, caused by software or DMA not emptying the FIFO fast enough. Cleared by writing a 1 to this bit.</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>PERINT</name>
              <description>Peripheral interrupt. When 1, this indicates that the peripheral function has asserted an interrupt. The details can be found by reading the peripheral's STAT register.</description>
              <bitOffset>3</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
            </field>
            <field>
              <name>TXEMPTY</name>
              <description>Transmit FIFO empty. When 1, the transmit FIFO is empty. The peripheral may still be processing the last piece of data.</description>
              <bitOffset>4</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
            </field>
            <field>
              <name>TXNOTFULL</name>
              <description>Transmit FIFO not full. When 1, the transmit FIFO is not full, so more data can be written. When 0, the transmit FIFO is full and another write would cause it to overflow.</description>
              <bitOffset>5</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
            </field>
            <field>
              <name>RXNOTEMPTY</name>
              <description>Receive FIFO not empty. When 1, the receive FIFO is not empty, so data can be read. When 0, the receive FIFO is empty.</description>
              <bitOffset>6</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
            </field>
            <field>
              <name>RXFULL</name>
              <description>Receive FIFO full. When 1, the receive FIFO is full. Data needs to be read out to prevent the peripheral from causing an overflow.</description>
              <bitOffset>7</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
            </field>
            <field>
              <name>TXLVL</name>
              <description>Transmit FIFO current level. A 0 means the TX FIFO is currently empty, and the TXEMPTY and TXNOTFULL flags will be 1. Other values tell how much data is actually in the TX FIFO at the point where the read occurs. If the TX FIFO is full, the TXEMPTY and TXNOTFULL flags will be 0.</description>
              <bitOffset>8</bitOffset>
              <bitWidth>5</bitWidth>
              <access>read-only</access>
            </field>
            <field>
              <name>RXLVL</name>
              <description>Receive FIFO current level. A 0 means the RX FIFO is currently empty, and the RXFULL and RXNOTEMPTY flags will be 0. Other values tell how much data is actually in the RX FIFO at the point where the read occurs. If the RX FIFO is full, the RXFULL and RXNOTEMPTY flags will be 1.</description>
              <bitOffset>16</bitOffset>
              <bitWidth>5</bitWidth>
              <access>read-only</access>
            </field>
          </fields>
        </register>
        <register>
          <name>FIFOTRIG</name>
          <description>FIFO trigger settings for interrupt and DMA request.</description>
          <addressOffset>0xE08</addressOffset>
          <size>32</size>
          <access>read-write</access>
          <resetValue>0</resetValue>
          <resetMask>0xF0F03</resetMask>
          <fields>
            <field>
              <name>TXLVLENA</name>
              <description>Transmit FIFO level trigger enable. This trigger will become an interrupt if enabled in FIFOINTENSET, or a DMA trigger if DMATX in FIFOCFG is set.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>DISABLED</name>
                  <description>Transmit FIFO level does not generate a FIFO level trigger.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ENABLED</name>
                  <description>An trigger will be generated if the transmit FIFO level reaches the value specified by the TXLVL field in this register.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>RXLVLENA</name>
              <description>Receive FIFO level trigger enable. This trigger will become an interrupt if enabled in FIFOINTENSET, or a DMA trigger if DMARX in FIFOCFG is set.</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>DISABLED</name>
                  <description>Receive FIFO level does not generate a FIFO level trigger.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ENABLED</name>
                  <description>An trigger will be generated if the receive FIFO level reaches the value specified by the RXLVL field in this register.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>TXLVL</name>
              <description>Transmit FIFO level trigger point. This field is used only when TXLVLENA = 1. If enabled to do so, the FIFO level can wake up the device just enough to perform DMA, then return to the reduced power mode. See Hardware Wake-up control register. 0 = trigger when the TX FIFO becomes empty. 1 = trigger when the TX FIFO level decreases to one entry. 15 = trigger when the TX FIFO level decreases to 15 entries (is no longer full).</description>
              <bitOffset>8</bitOffset>
              <bitWidth>4</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>RXLVL</name>
              <description>Receive FIFO level trigger point. The RX FIFO level is checked when a new piece of data is received. This field is used only when RXLVLENA = 1. If enabled to do so, the FIFO level can wake up the device just enough to perform DMA, then return to the reduced power mode. See Hardware Wake-up control register. 0 = trigger when the RX FIFO has received one entry (is no longer empty). 1 = trigger when the RX FIFO has received two entries. 15 = trigger when the RX FIFO has received 16 entries (has become full).</description>
              <bitOffset>16</bitOffset>
              <bitWidth>4</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>FIFOINTENSET</name>
          <description>FIFO interrupt enable set (enable) and read register.</description>
          <addressOffset>0xE10</addressOffset>
          <size>32</size>
          <access>read-write</access>
          <resetValue>0</resetValue>
          <resetMask>0xF</resetMask>
          <fields>
            <field>
              <name>TXERR</name>
              <description>Determines whether an interrupt occurs when a transmit error occurs, based on the TXERR flag in the FIFOSTAT register.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>DISABLED</name>
                  <description>No interrupt will be generated for a transmit error.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ENABLED</name>
                  <description>An interrupt will be generated when a transmit error occurs.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>RXERR</name>
              <description>Determines whether an interrupt occurs when a receive error occurs, based on the RXERR flag in the FIFOSTAT register.</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>DISABLED</name>
                  <description>No interrupt will be generated for a receive error.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ENABLED</name>
                  <description>An interrupt will be generated when a receive error occurs.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>TXLVL</name>
              <description>Determines whether an interrupt occurs when a the transmit FIFO reaches the level specified by the TXLVL field in the FIFOTRIG register.</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>DISABLED</name>
                  <description>No interrupt will be generated based on the TX FIFO level.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ENABLED</name>
                  <description>If TXLVLENA in the FIFOTRIG register = 1, an interrupt will be generated when the TX FIFO level decreases to the level specified by TXLVL in the FIFOTRIG register.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>RXLVL</name>
              <description>Determines whether an interrupt occurs when a the receive FIFO reaches the level specified by the TXLVL field in the FIFOTRIG register.</description>
              <bitOffset>3</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>DISABLED</name>
                  <description>No interrupt will be generated based on the RX FIFO level.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ENABLED</name>
                  <description>If RXLVLENA in the FIFOTRIG register = 1, an interrupt will be generated when the when the RX FIFO level increases to the level specified by RXLVL in the FIFOTRIG register.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>FIFOINTENCLR</name>
          <description>FIFO interrupt enable clear (disable) and read register.</description>
          <addressOffset>0xE14</addressOffset>
          <size>32</size>
          <access>read-write</access>
          <resetValue>0</resetValue>
          <resetMask>0xF</resetMask>
          <fields>
            <field>
              <name>TXERR</name>
              <description>Writing one clears the corresponding bits in the FIFOINTENSET register.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>RXERR</name>
              <description>Writing one clears the corresponding bits in the FIFOINTENSET register.</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>TXLVL</name>
              <description>Writing one clears the corresponding bits in the FIFOINTENSET register.</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>RXLVL</name>
              <description>Writing one clears the corresponding bits in the FIFOINTENSET register.</description>
              <bitOffset>3</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>FIFOINTSTAT</name>
          <description>FIFO interrupt status register.</description>
          <addressOffset>0xE18</addressOffset>
          <size>32</size>
          <access>read-only</access>
          <resetValue>0</resetValue>
          <resetMask>0x1F</resetMask>
          <fields>
            <field>
              <name>TXERR</name>
              <description>TX FIFO error.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
            </field>
            <field>
              <name>RXERR</name>
              <description>RX FIFO error.</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
            </field>
            <field>
              <name>TXLVL</name>
              <description>Transmit FIFO level interrupt.</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
            </field>
            <field>
              <name>RXLVL</name>
              <description>Receive FIFO level interrupt.</description>
              <bitOffset>3</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
            </field>
            <field>
              <name>PERINT</name>
              <description>Peripheral interrupt.</description>
              <bitOffset>4</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
            </field>
          </fields>
        </register>
        <register>
          <name>FIFOWR</name>
          <description>FIFO write data.</description>
          <addressOffset>0xE20</addressOffset>
          <size>32</size>
          <access>read-write</access>
          <resetValue>0</resetValue>
          <resetMask>0</resetMask>
          <fields>
            <field>
              <name>TXDATA</name>
              <description>Transmit data to the FIFO.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>16</bitWidth>
              <access>write-only</access>
            </field>
            <field>
              <name>TXSSEL0_N</name>
              <description>Transmit slave select. This field asserts SSEL0 in master mode. The output on the pin is active LOW by default.</description>
              <bitOffset>16</bitOffset>
              <bitWidth>1</bitWidth>
              <access>write-only</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>ASSERTED</name>
                  <description>SSEL0 asserted.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>NOT_ASSERTED</name>
                  <description>SSEL0 not asserted.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>TXSSEL1_N</name>
              <description>Transmit slave select. This field asserts SSEL1 in master mode. The output on the pin is active LOW by default.</description>
              <bitOffset>17</bitOffset>
              <bitWidth>1</bitWidth>
              <access>write-only</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>ASSERTED</name>
                  <description>SSEL1 asserted.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>NOT_ASSERTED</name>
                  <description>SSEL1 not asserted.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>TXSSEL2_N</name>
              <description>Transmit slave select. This field asserts SSEL2 in master mode. The output on the pin is active LOW by default.</description>
              <bitOffset>18</bitOffset>
              <bitWidth>1</bitWidth>
              <access>write-only</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>ASSERTED</name>
                  <description>SSEL2 asserted.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>NOT_ASSERTED</name>
                  <description>SSEL2 not asserted.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>TXSSEL3_N</name>
              <description>Transmit slave select. This field asserts SSEL3 in master mode. The output on the pin is active LOW by default.</description>
              <bitOffset>19</bitOffset>
              <bitWidth>1</bitWidth>
              <access>write-only</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>ASSERTED</name>
                  <description>SSEL3 asserted.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>NOT_ASSERTED</name>
                  <description>SSEL3 not asserted.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>EOT</name>
              <description>End of transfer. The asserted SSEL will be deasserted at the end of a transfer and remain so far at least the time specified by the Transfer_delay value in the DLY register.</description>
              <bitOffset>20</bitOffset>
              <bitWidth>1</bitWidth>
              <access>write-only</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>NOT_DEASSERTED</name>
                  <description>SSEL not deasserted. This piece of data is not treated as the end of a transfer. SSEL will not be deasserted at the end of this data.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>DEASSERTED</name>
                  <description>SSEL deasserted. This piece of data is treated as the end of a transfer. SSEL will be deasserted at the end of this piece of data.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>EOF</name>
              <description>End of frame. Between frames, a delay may be inserted, as defined by the Frame_delay value in the DLY register. The end of a frame may not be particularly meaningful if the Frame_delay value = 0. This control can be used as part of the support for frame lengths greater than 16 bits.</description>
              <bitOffset>21</bitOffset>
              <bitWidth>1</bitWidth>
              <access>write-only</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>NOT_EOF</name>
                  <description>Data not EOF. This piece of data transmitted is not treated as the end of a frame.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>EOF</name>
                  <description>Data EOF. This piece of data is treated as the end of a frame, causing the Frame_delay time to be inserted before subsequent data is transmitted.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>RXIGNORE</name>
              <description>Receive Ignore. This allows data to be transmitted using the SPI without the need to read unneeded data from the receiver. Setting this bit simplifies the transmit process and can be used with the DMA.</description>
              <bitOffset>22</bitOffset>
              <bitWidth>1</bitWidth>
              <access>write-only</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>READ</name>
                  <description>Read received data. Received data must be read in order to allow transmission to progress. SPI transmit will halt when the receive data FIFO is full. In slave mode, an overrun error will occur if received data is not read before new data is received.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>IGNORE</name>
                  <description>Ignore received data. Received data is ignored, allowing transmission without reading unneeded received data. No receiver flags are generated.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>LEN</name>
              <description>Data Length. Specifies the data length from 4 to 16 bits. Note that transfer lengths greater than 16 bits are supported by implementing multiple sequential transmits. 0x0-2 = Reserved. 0x3 = Data transfer is 4 bits in length. 0x4 = Data transfer is 5 bits in length. 0xF = Data transfer is 16 bits in length.</description>
              <bitOffset>24</bitOffset>
              <bitWidth>4</bitWidth>
              <access>write-only</access>
            </field>
          </fields>
        </register>
        <register>
          <name>FIFORD</name>
          <description>FIFO read data.</description>
          <addressOffset>0xE30</addressOffset>
          <size>32</size>
          <access>read-only</access>
          <resetValue>0</resetValue>
          <resetMask>0xE1FF</resetMask>
          <fields>
            <field>
              <name>RXDATA</name>
              <description>Received data from the FIFO.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>16</bitWidth>
              <access>read-only</access>
            </field>
            <field>
              <name>RXSSEL0_N</name>
              <description>Slave Select for receive. This field allows the state of the SSEL0 pin to be saved along with received data. The value will reflect the SSEL0 pin for both master and slave operation. A zero indicates that a slave select is active. The actual polarity of each slave select pin is configured by the related SPOL bit in CFG.</description>
              <bitOffset>16</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
            </field>
            <field>
              <name>RXSSEL1_N</name>
              <description>Slave Select for receive. This field allows the state of the SSEL1 pin to be saved along with received data. The value will reflect the SSEL1 pin for both master and slave operation. A zero indicates that a slave select is active. The actual polarity of each slave select pin is configured by the related SPOL bit in CFG.</description>
              <bitOffset>17</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
            </field>
            <field>
              <name>RXSSEL2_N</name>
              <description>Slave Select for receive. This field allows the state of the SSEL2 pin to be saved along with received data. The value will reflect the SSEL2 pin for both master and slave operation. A zero indicates that a slave select is active. The actual polarity of each slave select pin is configured by the related SPOL bit in CFG.</description>
              <bitOffset>18</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
            </field>
            <field>
              <name>RXSSEL3_N</name>
              <description>Slave Select for receive. This field allows the state of the SSEL3 pin to be saved along with received data. The value will reflect the SSEL3 pin for both master and slave operation. A zero indicates that a slave select is active. The actual polarity of each slave select pin is configured by the related SPOL bit in CFG.</description>
              <bitOffset>19</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
            </field>
            <field>
              <name>SOT</name>
              <description>Start of Transfer flag. This flag will be 1 if this is the first data after the SSELs went from deasserted to asserted (i.e., any previous transfer has ended). This information can be used to identify the first piece of data in cases where the transfer length is greater than 16 bits.</description>
              <bitOffset>20</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
            </field>
          </fields>
        </register>
        <register>
          <name>FIFORDNOPOP</name>
          <description>FIFO data read with no FIFO pop.</description>
          <addressOffset>0xE40</addressOffset>
          <size>32</size>
          <access>read-only</access>
          <resetValue>0</resetValue>
          <resetMask>0xE1FF</resetMask>
          <fields>
            <field>
              <name>RXDATA</name>
              <description>Received data from the FIFO.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>16</bitWidth>
              <access>read-only</access>
            </field>
            <field>
              <name>RXSSEL0_N</name>
              <description>Slave Select for receive.</description>
              <bitOffset>16</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
            </field>
            <field>
              <name>RXSSEL1_N</name>
              <description>Slave Select for receive.</description>
              <bitOffset>17</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
            </field>
            <field>
              <name>RXSSEL2_N</name>
              <description>Slave Select for receive.</description>
              <bitOffset>18</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
            </field>
            <field>
              <name>RXSSEL3_N</name>
              <description>Slave Select for receive.</description>
              <bitOffset>19</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
            </field>
            <field>
              <name>SOT</name>
              <description>Start of transfer flag.</description>
              <bitOffset>20</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
            </field>
          </fields>
        </register>
        <register>
          <name>ID</name>
          <description>Peripheral identification register.</description>
          <addressOffset>0xFFC</addressOffset>
          <size>32</size>
          <access>read-only</access>
          <resetValue>0xE0200000</resetValue>
          <resetMask>0xFFFFFFFF</resetMask>
          <fields>
            <field>
              <name>APERTURE</name>
              <description>Aperture: encoded as (aperture size/4K) -1, so 0x00 means a 4K aperture.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>8</bitWidth>
              <access>read-only</access>
            </field>
            <field>
              <name>MINOR_REV</name>
              <description>Minor revision of module implementation.</description>
              <bitOffset>8</bitOffset>
              <bitWidth>4</bitWidth>
              <access>read-only</access>
            </field>
            <field>
              <name>MAJOR_REV</name>
              <description>Major revision of module implementation.</description>
              <bitOffset>12</bitOffset>
              <bitWidth>4</bitWidth>
              <access>read-only</access>
            </field>
            <field>
              <name>ID</name>
              <description>Module identifier for the selected function.</description>
              <bitOffset>16</bitOffset>
              <bitWidth>16</bitWidth>
              <access>read-only</access>
            </field>
          </fields>
        </register>
      </registers>
    </peripheral>
    <peripheral derivedFrom="SPI0">
      <name>SPI1</name>
      <description>LPC51u68 Serial Peripheral Interfaces (SPI)</description>
      <alternatePeripheral>FLEXCOMM1</alternatePeripheral>
      <groupName>SPI</groupName>
      <baseAddress>0x40087000</baseAddress>
      <addressBlock>
        <offset>0</offset>
        <size>0x1000</size>
        <usage>registers</usage>
      </addressBlock>
      <interrupt>
        <name>FLEXCOMM1</name>
        <value>15</value>
      </interrupt>
    </peripheral>
    <peripheral derivedFrom="SPI0">
      <name>SPI2</name>
      <description>LPC51u68 Serial Peripheral Interfaces (SPI)</description>
      <alternatePeripheral>FLEXCOMM2</alternatePeripheral>
      <groupName>SPI</groupName>
      <baseAddress>0x40088000</baseAddress>
      <addressBlock>
        <offset>0</offset>
        <size>0x1000</size>
        <usage>registers</usage>
      </addressBlock>
      <interrupt>
        <name>FLEXCOMM2</name>
        <value>16</value>
      </interrupt>
    </peripheral>
    <peripheral derivedFrom="SPI0">
      <name>SPI3</name>
      <description>LPC51u68 Serial Peripheral Interfaces (SPI)</description>
      <alternatePeripheral>FLEXCOMM3</alternatePeripheral>
      <groupName>SPI</groupName>
      <baseAddress>0x40089000</baseAddress>
      <addressBlock>
        <offset>0</offset>
        <size>0x1000</size>
        <usage>registers</usage>
      </addressBlock>
      <interrupt>
        <name>FLEXCOMM3</name>
        <value>17</value>
      </interrupt>
    </peripheral>
    <peripheral derivedFrom="SPI0">
      <name>SPI4</name>
      <description>LPC51u68 Serial Peripheral Interfaces (SPI)</description>
      <alternatePeripheral>FLEXCOMM4</alternatePeripheral>
      <groupName>SPI</groupName>
      <baseAddress>0x4008A000</baseAddress>
      <addressBlock>
        <offset>0</offset>
        <size>0x1000</size>
        <usage>registers</usage>
      </addressBlock>
      <interrupt>
        <name>FLEXCOMM4</name>
        <value>18</value>
      </interrupt>
    </peripheral>
    <peripheral derivedFrom="SPI0">
      <name>SPI5</name>
      <description>LPC51u68 Serial Peripheral Interfaces (SPI)</description>
      <alternatePeripheral>FLEXCOMM5</alternatePeripheral>
      <groupName>SPI</groupName>
      <baseAddress>0x40096000</baseAddress>
      <addressBlock>
        <offset>0</offset>
        <size>0x1000</size>
        <usage>registers</usage>
      </addressBlock>
      <interrupt>
        <name>FLEXCOMM5</name>
        <value>19</value>
      </interrupt>
    </peripheral>
    <peripheral derivedFrom="SPI0">
      <name>SPI6</name>
      <description>LPC51u68 Serial Peripheral Interfaces (SPI)</description>
      <alternatePeripheral>FLEXCOMM6</alternatePeripheral>
      <groupName>SPI</groupName>
      <baseAddress>0x40097000</baseAddress>
      <addressBlock>
        <offset>0</offset>
        <size>0x1000</size>
        <usage>registers</usage>
      </addressBlock>
      <interrupt>
        <name>FLEXCOMM6</name>
        <value>20</value>
      </interrupt>
    </peripheral>
    <peripheral derivedFrom="SPI0">
      <name>SPI7</name>
      <description>LPC51u68 Serial Peripheral Interfaces (SPI)</description>
      <alternatePeripheral>FLEXCOMM7</alternatePeripheral>
      <groupName>SPI</groupName>
      <baseAddress>0x40098000</baseAddress>
      <addressBlock>
        <offset>0</offset>
        <size>0x1000</size>
        <usage>registers</usage>
      </addressBlock>
      <interrupt>
        <name>FLEXCOMM7</name>
        <value>21</value>
      </interrupt>
    </peripheral>
    <peripheral>
      <name>USART0</name>
      <description>LPC51u68 USARTs</description>
      <alternatePeripheral>FLEXCOMM0</alternatePeripheral>
      <groupName>USART</groupName>
      <headerStructName>USART</headerStructName>
      <baseAddress>0x40086000</baseAddress>
      <addressBlock>
        <offset>0</offset>
        <size>0x1000</size>
        <usage>registers</usage>
      </addressBlock>
      <interrupt>
        <name>FLEXCOMM0</name>
        <value>14</value>
      </interrupt>
      <registers>
        <register>
          <name>CFG</name>
          <description>USART Configuration register. Basic USART configuration settings that typically are not changed during operation.</description>
          <addressOffset>0</addressOffset>
          <size>32</size>
          <access>read-write</access>
          <resetValue>0</resetValue>
          <resetMask>0xFDDBFD</resetMask>
          <fields>
            <field>
              <name>ENABLE</name>
              <description>USART Enable.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>DISABLED</name>
                  <description>Disabled. The USART is disabled and the internal state machine and counters are reset. While Enable = 0, all USART interrupts and DMA transfers are disabled. When Enable is set again, CFG and most other control bits remain unchanged. When re-enabled, the USART will immediately be ready to transmit because the transmitter has been reset and is therefore available.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ENABLED</name>
                  <description>Enabled. The USART is enabled for operation.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>DATALEN</name>
              <description>Selects the data size for the USART.</description>
              <bitOffset>2</bitOffset>
              <bitWidth>2</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>BIT_7</name>
                  <description>7 bit Data length.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>BIT_8</name>
                  <description>8 bit Data length.</description>
                  <value>0x1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>BIT_9</name>
                  <description>9 bit data length. The 9th bit is commonly used for addressing in multidrop mode. See the ADDRDET bit in the CTL register.</description>
                  <value>0x2</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>PARITYSEL</name>
              <description>Selects what type of parity is used by the USART.</description>
              <bitOffset>4</bitOffset>
              <bitWidth>2</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>NO_PARITY</name>
                  <description>No parity.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>EVEN_PARITY</name>
                  <description>Even parity. Adds a bit to each character such that the number of 1s in a transmitted character is even, and the number of 1s in a received character is expected to be even.</description>
                  <value>0x2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ODD_PARITY</name>
                  <description>Odd parity. Adds a bit to each character such that the number of 1s in a transmitted character is odd, and the number of 1s in a received character is expected to be odd.</description>
                  <value>0x3</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>STOPLEN</name>
              <description>Number of stop bits appended to transmitted data. Only a single stop bit is required for received data.</description>
              <bitOffset>6</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>BIT_1</name>
                  <description>1 stop bit.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>BITS_2</name>
                  <description>2 stop bits. This setting should only be used for asynchronous communication.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>MODE32K</name>
              <description>Selects standard or 32 kHz clocking mode.</description>
              <bitOffset>7</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>DISABLED</name>
                  <description>Disabled. USART uses standard clocking.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ENABLED</name>
                  <description>Enabled. USART uses the 32 kHz clock from the RTC oscillator as the clock source to the BRG, and uses a special bit clocking scheme.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>LINMODE</name>
              <description>LIN break mode enable.</description>
              <bitOffset>8</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>DISABLED</name>
                  <description>Disabled. Break detect and generate is configured for normal operation.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ENABLED</name>
                  <description>Enabled. Break detect and generate is configured for LIN bus operation.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>CTSEN</name>
              <description>CTS Enable. Determines whether CTS is used for flow control. CTS can be from the input pin, or from the USART's own RTS if loopback mode is enabled.</description>
              <bitOffset>9</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>DISABLED</name>
                  <description>No flow control. The transmitter does not receive any automatic flow control signal.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ENABLED</name>
                  <description>Flow control enabled. The transmitter uses the CTS input (or RTS output in loopback mode) for flow control purposes.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>SYNCEN</name>
              <description>Selects synchronous or asynchronous operation.</description>
              <bitOffset>11</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>ASYNCHRONOUS_MODE</name>
                  <description>Asynchronous mode.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>SYNCHRONOUS_MODE</name>
                  <description>Synchronous mode.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>CLKPOL</name>
              <description>Selects the clock polarity and sampling edge of received data in synchronous mode.</description>
              <bitOffset>12</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>FALLING_EDGE</name>
                  <description>Falling edge. Un_RXD is sampled on the falling edge of SCLK.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>RISING_EDGE</name>
                  <description>Rising edge. Un_RXD is sampled on the rising edge of SCLK.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>SYNCMST</name>
              <description>Synchronous mode Master select.</description>
              <bitOffset>14</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>SLAVE</name>
                  <description>Slave. When synchronous mode is enabled, the USART is a slave.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>MASTER</name>
                  <description>Master. When synchronous mode is enabled, the USART is a master.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>LOOP</name>
              <description>Selects data loopback mode.</description>
              <bitOffset>15</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>NORMAL</name>
                  <description>Normal operation.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>LOOPBACK</name>
                  <description>Loopback mode. This provides a mechanism to perform diagnostic loopback testing for USART data. Serial data from the transmitter (Un_TXD) is connected internally to serial input of the receive (Un_RXD). Un_TXD and Un_RTS activity will also appear on external pins if these functions are configured to appear on device pins. The receiver RTS signal is also looped back to CTS and performs flow control if enabled by CTSEN.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>OETA</name>
              <description>Output Enable Turnaround time enable for RS-485 operation.</description>
              <bitOffset>18</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>DISABLED</name>
                  <description>Disabled. If selected by OESEL, the Output Enable signal deasserted at the end of the last stop bit of a transmission.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ENABLED</name>
                  <description>Enabled. If selected by OESEL, the Output Enable signal remains asserted for one character time after the end of the last stop bit of a transmission. OE will also remain asserted if another transmit begins before it is deasserted.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>AUTOADDR</name>
              <description>Automatic Address matching enable.</description>
              <bitOffset>19</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>DISABLED</name>
                  <description>Disabled. When addressing is enabled by ADDRDET, address matching is done by software. This provides the possibility of versatile addressing (e.g. respond to more than one address).</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ENABLED</name>
                  <description>Enabled. When addressing is enabled by ADDRDET, address matching is done by hardware, using the value in the ADDR register as the address to match.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>OESEL</name>
              <description>Output Enable Select.</description>
              <bitOffset>20</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>STANDARD</name>
                  <description>Standard. The RTS signal is used as the standard flow control function.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>RS_485</name>
                  <description>RS-485. The RTS signal configured to provide an output enable signal to control an RS-485 transceiver.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>OEPOL</name>
              <description>Output Enable Polarity.</description>
              <bitOffset>21</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>LOW</name>
                  <description>Low. If selected by OESEL, the output enable is active low.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>HIGH</name>
                  <description>High. If selected by OESEL, the output enable is active high.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>RXPOL</name>
              <description>Receive data polarity.</description>
              <bitOffset>22</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>STANDARD</name>
                  <description>Standard. The RX signal is used as it arrives from the pin. This means that the RX rest value is 1, start bit is 0, data is not inverted, and the stop bit is 1.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>INVERTED</name>
                  <description>Inverted. The RX signal is inverted before being used by the USART. This means that the RX rest value is 0, start bit is 1, data is inverted, and the stop bit is 0.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>TXPOL</name>
              <description>Transmit data polarity.</description>
              <bitOffset>23</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>STANDARD</name>
                  <description>Standard. The TX signal is sent out without change. This means that the TX rest value is 1, start bit is 0, data is not inverted, and the stop bit is 1.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>INVERTED</name>
                  <description>Inverted. The TX signal is inverted by the USART before being sent out. This means that the TX rest value is 0, start bit is 1, data is inverted, and the stop bit is 0.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>CTL</name>
          <description>USART Control register. USART control settings that are more likely to change during operation.</description>
          <addressOffset>0x4</addressOffset>
          <size>32</size>
          <access>read-write</access>
          <resetValue>0</resetValue>
          <resetMask>0x10346</resetMask>
          <fields>
            <field>
              <name>TXBRKEN</name>
              <description>Break Enable.</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>NORMAL</name>
                  <description>Normal operation.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>CONTINOUS</name>
                  <description>Continuous break. Continuous break is sent immediately when this bit is set, and remains until this bit is cleared. A break may be sent without danger of corrupting any currently transmitting character if the transmitter is first disabled (TXDIS in CTL is set) and then waiting for the transmitter to be disabled (TXDISINT in STAT = 1) before writing 1 to TXBRKEN.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>ADDRDET</name>
              <description>Enable address detect mode.</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>DISABLED</name>
                  <description>Disabled. The USART presents all incoming data.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ENABLED</name>
                  <description>Enabled. The USART receiver ignores incoming data that does not have the most significant bit of the data (typically the 9th bit) = 1. When the data MSB bit = 1, the receiver treats the incoming data normally, generating a received data interrupt. Software can then check the data to see if this is an address that should be handled. If it is, the ADDRDET bit is cleared by software and further incoming data is handled normally.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>TXDIS</name>
              <description>Transmit Disable.</description>
              <bitOffset>6</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>ENABLED</name>
                  <description>Not disabled. USART transmitter is not disabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>DISABLED</name>
                  <description>Disabled. USART transmitter is disabled after any character currently being transmitted is complete. This feature can be used to facilitate software flow control.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>CC</name>
              <description>Continuous Clock generation. By default, SCLK is only output while data is being transmitted in synchronous mode.</description>
              <bitOffset>8</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>CLOCK_ON_CHARACTER</name>
                  <description>Clock on character. In synchronous mode, SCLK cycles only when characters are being sent on Un_TXD or to complete a character that is being received.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>CONTINOUS_CLOCK</name>
                  <description>Continuous clock. SCLK runs continuously in synchronous mode, allowing characters to be received on Un_RxD independently from transmission on Un_TXD).</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>CLRCCONRX</name>
              <description>Clear Continuous Clock.</description>
              <bitOffset>9</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>NO_EFFECT</name>
                  <description>No effect. No effect on the CC bit.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>AUTO_CLEAR</name>
                  <description>Auto-clear. The CC bit is automatically cleared when a complete character has been received. This bit is cleared at the same time.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>AUTOBAUD</name>
              <description>Autobaud enable.</description>
              <bitOffset>16</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>DISABLED</name>
                  <description>Disabled. USART is in normal operating mode.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ENABLED</name>
                  <description>Enabled. USART is in autobaud mode. This bit should only be set when the USART receiver is idle. The first start bit of RX is measured and used the update the BRG register to match the received data rate. AUTOBAUD is cleared once this process is complete, or if there is an AERR.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>STAT</name>
          <description>USART Status register. The complete status value can be read here. Writing ones clears some bits in the register. Some bits can be cleared by writing a 1 to them.</description>
          <addressOffset>0x8</addressOffset>
          <size>32</size>
          <access>read-write</access>
          <resetValue>0xA</resetValue>
          <resetMask>0x45A</resetMask>
          <fields>
            <field>
              <name>RXIDLE</name>
              <description>Receiver Idle. When 0, indicates that the receiver is currently in the process of receiving data. When 1, indicates that the receiver is not currently in the process of receiving data.</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
            </field>
            <field>
              <name>TXIDLE</name>
              <description>Transmitter Idle. When 0, indicates that the transmitter is currently in the process of sending data.When 1, indicate that the transmitter is not currently in the process of sending data.</description>
              <bitOffset>3</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
            </field>
            <field>
              <name>CTS</name>
              <description>This bit reflects the current state of the CTS signal, regardless of the setting of the CTSEN bit in the CFG register. This will be the value of the CTS input pin unless loopback mode is enabled.</description>
              <bitOffset>4</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
            </field>
            <field>
              <name>DELTACTS</name>
              <description>This bit is set when a change in the state is detected for the CTS flag above. This bit is cleared by software.</description>
              <bitOffset>5</bitOffset>
              <bitWidth>1</bitWidth>
              <access>write-only</access>
            </field>
            <field>
              <name>TXDISSTAT</name>
              <description>Transmitter Disabled Status flag. When 1, this bit indicates that the USART transmitter is fully idle after being disabled via the TXDIS bit in the CFG register (TXDIS = 1).</description>
              <bitOffset>6</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
            </field>
            <field>
              <name>RXBRK</name>
              <description>Received Break. This bit reflects the current state of the receiver break detection logic. It is set when the Un_RXD pin remains low for 16 bit times. Note that FRAMERRINT will also be set when this condition occurs because the stop bit(s) for the character would be missing. RXBRK is cleared when the Un_RXD pin goes high.</description>
              <bitOffset>10</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
            </field>
            <field>
              <name>DELTARXBRK</name>
              <description>This bit is set when a change in the state of receiver break detection occurs. Cleared by software.</description>
              <bitOffset>11</bitOffset>
              <bitWidth>1</bitWidth>
              <access>write-only</access>
            </field>
            <field>
              <name>START</name>
              <description>This bit is set when a start is detected on the receiver input. Its purpose is primarily to allow wake-up from Deep-sleep or Power-down mode immediately when a start is detected. Cleared by software.</description>
              <bitOffset>12</bitOffset>
              <bitWidth>1</bitWidth>
              <access>write-only</access>
            </field>
            <field>
              <name>FRAMERRINT</name>
              <description>Framing Error interrupt flag. This flag is set when a character is received with a missing stop bit at the expected location. This could be an indication of a baud rate or configuration mismatch with the transmitting source.</description>
              <bitOffset>13</bitOffset>
              <bitWidth>1</bitWidth>
              <access>write-only</access>
            </field>
            <field>
              <name>PARITYERRINT</name>
              <description>Parity Error interrupt flag. This flag is set when a parity error is detected in a received character.</description>
              <bitOffset>14</bitOffset>
              <bitWidth>1</bitWidth>
              <access>write-only</access>
            </field>
            <field>
              <name>RXNOISEINT</name>
              <description>Received Noise interrupt flag. Three samples of received data are taken in order to determine the value of each received data bit, except in synchronous mode. This acts as a noise filter if one sample disagrees. This flag is set when a received data bit contains one disagreeing sample. This could indicate line noise, a baud rate or character format mismatch, or loss of synchronization during data reception.</description>
              <bitOffset>15</bitOffset>
              <bitWidth>1</bitWidth>
              <access>write-only</access>
            </field>
            <field>
              <name>ABERR</name>
              <description>Auto baud Error. An auto baud error can occur if the BRG counts to its limit before the end of the start bit that is being measured, essentially an auto baud time-out.</description>
              <bitOffset>16</bitOffset>
              <bitWidth>1</bitWidth>
              <access>write-only</access>
            </field>
          </fields>
        </register>
        <register>
          <name>INTENSET</name>
          <description>Interrupt Enable read and Set register for USART (not FIFO) status. Contains individual interrupt enable bits for each potential USART interrupt. A complete value may be read from this register. Writing a 1 to any implemented bit position causes that bit to be set.</description>
          <addressOffset>0xC</addressOffset>
          <size>32</size>
          <access>read-write</access>
          <resetValue>0</resetValue>
          <resetMask>0x1F868</resetMask>
          <fields>
            <field>
              <name>TXIDLEEN</name>
              <description>When 1, enables an interrupt when the transmitter becomes idle (TXIDLE = 1).</description>
              <bitOffset>3</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>DELTACTSEN</name>
              <description>When 1, enables an interrupt when there is a change in the state of the CTS input.</description>
              <bitOffset>5</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>TXDISEN</name>
              <description>When 1, enables an interrupt when the transmitter is fully disabled as indicated by the TXDISINT flag in STAT. See description of the TXDISINT bit for details.</description>
              <bitOffset>6</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>DELTARXBRKEN</name>
              <description>When 1, enables an interrupt when a change of state has occurred in the detection of a received break condition (break condition asserted or deasserted).</description>
              <bitOffset>11</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>STARTEN</name>
              <description>When 1, enables an interrupt when a received start bit has been detected.</description>
              <bitOffset>12</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>FRAMERREN</name>
              <description>When 1, enables an interrupt when a framing error has been detected.</description>
              <bitOffset>13</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>PARITYERREN</name>
              <description>When 1, enables an interrupt when a parity error has been detected.</description>
              <bitOffset>14</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>RXNOISEEN</name>
              <description>When 1, enables an interrupt when noise is detected. See description of the RXNOISEINT bit in Table 354.</description>
              <bitOffset>15</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>ABERREN</name>
              <description>When 1, enables an interrupt when an auto baud error occurs.</description>
              <bitOffset>16</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>INTENCLR</name>
          <description>Interrupt Enable Clear register. Allows clearing any combination of bits in the INTENSET register. Writing a 1 to any implemented bit position causes the corresponding bit to be cleared.</description>
          <addressOffset>0x10</addressOffset>
          <size>32</size>
          <access>write-only</access>
          <resetValue>0</resetValue>
          <resetMask>0</resetMask>
          <fields>
            <field>
              <name>TXIDLECLR</name>
              <description>Writing 1 clears the corresponding bit in the INTENSET register.</description>
              <bitOffset>3</bitOffset>
              <bitWidth>1</bitWidth>
              <access>write-only</access>
            </field>
            <field>
              <name>DELTACTSCLR</name>
              <description>Writing 1 clears the corresponding bit in the INTENSET register.</description>
              <bitOffset>5</bitOffset>
              <bitWidth>1</bitWidth>
              <access>write-only</access>
            </field>
            <field>
              <name>TXDISCLR</name>
              <description>Writing 1 clears the corresponding bit in the INTENSET register.</description>
              <bitOffset>6</bitOffset>
              <bitWidth>1</bitWidth>
              <access>write-only</access>
            </field>
            <field>
              <name>DELTARXBRKCLR</name>
              <description>Writing 1 clears the corresponding bit in the INTENSET register.</description>
              <bitOffset>11</bitOffset>
              <bitWidth>1</bitWidth>
              <access>write-only</access>
            </field>
            <field>
              <name>STARTCLR</name>
              <description>Writing 1 clears the corresponding bit in the INTENSET register.</description>
              <bitOffset>12</bitOffset>
              <bitWidth>1</bitWidth>
              <access>write-only</access>
            </field>
            <field>
              <name>FRAMERRCLR</name>
              <description>Writing 1 clears the corresponding bit in the INTENSET register.</description>
              <bitOffset>13</bitOffset>
              <bitWidth>1</bitWidth>
              <access>write-only</access>
            </field>
            <field>
              <name>PARITYERRCLR</name>
              <description>Writing 1 clears the corresponding bit in the INTENSET register.</description>
              <bitOffset>14</bitOffset>
              <bitWidth>1</bitWidth>
              <access>write-only</access>
            </field>
            <field>
              <name>RXNOISECLR</name>
              <description>Writing 1 clears the corresponding bit in the INTENSET register.</description>
              <bitOffset>15</bitOffset>
              <bitWidth>1</bitWidth>
              <access>write-only</access>
            </field>
            <field>
              <name>ABERRCLR</name>
              <description>Writing 1 clears the corresponding bit in the INTENSET register.</description>
              <bitOffset>16</bitOffset>
              <bitWidth>1</bitWidth>
              <access>write-only</access>
            </field>
          </fields>
        </register>
        <register>
          <name>BRG</name>
          <description>Baud Rate Generator register. 16-bit integer baud rate divisor value.</description>
          <addressOffset>0x20</addressOffset>
          <size>32</size>
          <access>read-write</access>
          <resetValue>0</resetValue>
          <resetMask>0xFFFF</resetMask>
          <fields>
            <field>
              <name>BRGVAL</name>
              <description>This value is used to divide the USART input clock to determine the baud rate, based on the input clock from the FRG. 0 = FCLK is used directly by the USART function. 1 = FCLK is divided by 2 before use by the USART function. 2 = FCLK is divided by 3 before use by the USART function. 0xFFFF = FCLK is divided by 65,536 before use by the USART function.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>16</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>INTSTAT</name>
          <description>Interrupt status register. Reflects interrupts that are currently enabled.</description>
          <addressOffset>0x24</addressOffset>
          <size>32</size>
          <access>read-only</access>
          <resetValue>0</resetValue>
          <resetMask>0x1F968</resetMask>
          <fields>
            <field>
              <name>TXIDLE</name>
              <description>Transmitter Idle status.</description>
              <bitOffset>3</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
            </field>
            <field>
              <name>DELTACTS</name>
              <description>This bit is set when a change in the state of the CTS input is detected.</description>
              <bitOffset>5</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
            </field>
            <field>
              <name>TXDISINT</name>
              <description>Transmitter Disabled Interrupt flag.</description>
              <bitOffset>6</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
            </field>
            <field>
              <name>DELTARXBRK</name>
              <description>This bit is set when a change in the state of receiver break detection occurs.</description>
              <bitOffset>11</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
            </field>
            <field>
              <name>START</name>
              <description>This bit is set when a start is detected on the receiver input.</description>
              <bitOffset>12</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
            </field>
            <field>
              <name>FRAMERRINT</name>
              <description>Framing Error interrupt flag.</description>
              <bitOffset>13</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
            </field>
            <field>
              <name>PARITYERRINT</name>
              <description>Parity Error interrupt flag.</description>
              <bitOffset>14</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
            </field>
            <field>
              <name>RXNOISEINT</name>
              <description>Received Noise interrupt flag.</description>
              <bitOffset>15</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
            </field>
            <field>
              <name>ABERRINT</name>
              <description>Auto baud Error Interrupt flag.</description>
              <bitOffset>16</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
            </field>
          </fields>
        </register>
        <register>
          <name>OSR</name>
          <description>Oversample selection register for asynchronous communication.</description>
          <addressOffset>0x28</addressOffset>
          <size>32</size>
          <access>read-write</access>
          <resetValue>0xF</resetValue>
          <resetMask>0xF</resetMask>
          <fields>
            <field>
              <name>OSRVAL</name>
              <description>Oversample Selection Value. 0 to 3 = not supported 0x4 = 5 function clocks are used to transmit and receive each data bit. 0x5 = 6 function clocks are used to transmit and receive each data bit. 0xF= 16 function clocks are used to transmit and receive each data bit.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>4</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>ADDR</name>
          <description>Address register for automatic address matching.</description>
          <addressOffset>0x2C</addressOffset>
          <size>32</size>
          <access>read-write</access>
          <resetValue>0</resetValue>
          <resetMask>0xFF</resetMask>
          <fields>
            <field>
              <name>ADDRESS</name>
              <description>8-bit address used with automatic address matching. Used when address detection is enabled (ADDRDET in CTL = 1) and automatic address matching is enabled (AUTOADDR in CFG = 1).</description>
              <bitOffset>0</bitOffset>
              <bitWidth>8</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>FIFOCFG</name>
          <description>FIFO configuration and enable register.</description>
          <addressOffset>0xE00</addressOffset>
          <size>32</size>
          <access>read-write</access>
          <resetValue>0</resetValue>
          <resetMask>0x7F033</resetMask>
          <fields>
            <field>
              <name>ENABLETX</name>
              <description>Enable the transmit FIFO.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>DISABLED</name>
                  <description>The transmit FIFO is not enabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ENABLED</name>
                  <description>The transmit FIFO is enabled.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>ENABLERX</name>
              <description>Enable the receive FIFO.</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>DISABLED</name>
                  <description>The receive FIFO is not enabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ENABLED</name>
                  <description>The receive FIFO is enabled.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>SIZE</name>
              <description>FIFO size configuration. This is a read-only field. 0x0 = FIFO is configured as 16 entries of 8 bits. 0x1, 0x2, 0x3 = not applicable to USART.</description>
              <bitOffset>4</bitOffset>
              <bitWidth>2</bitWidth>
              <access>read-only</access>
            </field>
            <field>
              <name>DMATX</name>
              <description>DMA configuration for transmit.</description>
              <bitOffset>12</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>DISABLED</name>
                  <description>DMA is not used for the transmit function.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ENABLED</name>
                  <description>Trigger DMA for the transmit function if the FIFO is not full. Generally, data interrupts would be disabled if DMA is enabled.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>DMARX</name>
              <description>DMA configuration for receive.</description>
              <bitOffset>13</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>DISABLED</name>
                  <description>DMA is not used for the receive function.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ENABLED</name>
                  <description>Trigger DMA for the receive function if the FIFO is not empty. Generally, data interrupts would be disabled if DMA is enabled.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>WAKETX</name>
              <description>Wake-up for transmit FIFO level. This allows the device to be woken from reduced power modes (up to power-down, as long as the peripheral function works in that power mode) without enabling the TXLVL interrupt. Only DMA wakes up, processes data, and goes back to sleep. The CPU will remain stopped until woken by another cause, such as DMA completion. See Hardware Wake-up control register.</description>
              <bitOffset>14</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>DISABLED</name>
                  <description>Only enabled interrupts will wake up the device form reduced power modes.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ENABLED</name>
                  <description>A device wake-up for DMA will occur if the transmit FIFO level reaches the value specified by TXLVL in FIFOTRIG, even when the TXLVL interrupt is not enabled.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>WAKERX</name>
              <description>Wake-up for receive FIFO level. This allows the device to be woken from reduced power modes (up to power-down, as long as the peripheral function works in that power mode) without enabling the TXLVL interrupt. Only DMA wakes up, processes data, and goes back to sleep. The CPU will remain stopped until woken by another cause, such as DMA completion. See Hardware Wake-up control register.</description>
              <bitOffset>15</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>DISABLED</name>
                  <description>Only enabled interrupts will wake up the device form reduced power modes.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ENABLED</name>
                  <description>A device wake-up for DMA will occur if the receive FIFO level reaches the value specified by RXLVL in FIFOTRIG, even when the RXLVL interrupt is not enabled.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>EMPTYTX</name>
              <description>Empty command for the transmit FIFO. When a 1 is written to this bit, the TX FIFO is emptied.</description>
              <bitOffset>16</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>EMPTYRX</name>
              <description>Empty command for the receive FIFO. When a 1 is written to this bit, the RX FIFO is emptied.</description>
              <bitOffset>17</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>FIFOSTAT</name>
          <description>FIFO status register.</description>
          <addressOffset>0xE04</addressOffset>
          <size>32</size>
          <access>read-write</access>
          <resetValue>0x30</resetValue>
          <resetMask>0x1F1FFB</resetMask>
          <fields>
            <field>
              <name>TXERR</name>
              <description>TX FIFO error. Will be set if a transmit FIFO error occurs. This could be an overflow caused by pushing data into a full FIFO, or by an underflow if the FIFO is empty when data is needed. Cleared by writing a 1 to this bit.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>RXERR</name>
              <description>RX FIFO error. Will be set if a receive FIFO overflow occurs, caused by software or DMA not emptying the FIFO fast enough. Cleared by writing a 1 to this bit.</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>PERINT</name>
              <description>Peripheral interrupt. When 1, this indicates that the peripheral function has asserted an interrupt. The details can be found by reading the peripheral's STAT register.</description>
              <bitOffset>3</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
            </field>
            <field>
              <name>TXEMPTY</name>
              <description>Transmit FIFO empty. When 1, the transmit FIFO is empty. The peripheral may still be processing the last piece of data.</description>
              <bitOffset>4</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
            </field>
            <field>
              <name>TXNOTFULL</name>
              <description>Transmit FIFO not full. When 1, the transmit FIFO is not full, so more data can be written. When 0, the transmit FIFO is full and another write would cause it to overflow.</description>
              <bitOffset>5</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
            </field>
            <field>
              <name>RXNOTEMPTY</name>
              <description>Receive FIFO not empty. When 1, the receive FIFO is not empty, so data can be read. When 0, the receive FIFO is empty.</description>
              <bitOffset>6</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
            </field>
            <field>
              <name>RXFULL</name>
              <description>Receive FIFO full. When 1, the receive FIFO is full. Data needs to be read out to prevent the peripheral from causing an overflow.</description>
              <bitOffset>7</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
            </field>
            <field>
              <name>TXLVL</name>
              <description>Transmit FIFO current level. A 0 means the TX FIFO is currently empty, and the TXEMPTY and TXNOTFULL flags will be 1. Other values tell how much data is actually in the TX FIFO at the point where the read occurs. If the TX FIFO is full, the TXEMPTY and TXNOTFULL flags will be 0.</description>
              <bitOffset>8</bitOffset>
              <bitWidth>5</bitWidth>
              <access>read-only</access>
            </field>
            <field>
              <name>RXLVL</name>
              <description>Receive FIFO current level. A 0 means the RX FIFO is currently empty, and the RXFULL and RXNOTEMPTY flags will be 0. Other values tell how much data is actually in the RX FIFO at the point where the read occurs. If the RX FIFO is full, the RXFULL and RXNOTEMPTY flags will be 1.</description>
              <bitOffset>16</bitOffset>
              <bitWidth>5</bitWidth>
              <access>read-only</access>
            </field>
          </fields>
        </register>
        <register>
          <name>FIFOTRIG</name>
          <description>FIFO trigger settings for interrupt and DMA request.</description>
          <addressOffset>0xE08</addressOffset>
          <size>32</size>
          <access>read-write</access>
          <resetValue>0</resetValue>
          <resetMask>0xF0F03</resetMask>
          <fields>
            <field>
              <name>TXLVLENA</name>
              <description>Transmit FIFO level trigger enable. This trigger will become an interrupt if enabled in FIFOINTENSET, or a DMA trigger if DMATX in FIFOCFG is set.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>DISABLED</name>
                  <description>Transmit FIFO level does not generate a FIFO level trigger.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ENABLED</name>
                  <description>An trigger will be generated if the transmit FIFO level reaches the value specified by the TXLVL field in this register.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>RXLVLENA</name>
              <description>Receive FIFO level trigger enable. This trigger will become an interrupt if enabled in FIFOINTENSET, or a DMA trigger if DMARX in FIFOCFG is set.</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>DISABLED</name>
                  <description>Receive FIFO level does not generate a FIFO level trigger.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ENABLED</name>
                  <description>An trigger will be generated if the receive FIFO level reaches the value specified by the RXLVL field in this register.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>TXLVL</name>
              <description>Transmit FIFO level trigger point. This field is used only when TXLVLENA = 1. If enabled to do so, the FIFO level can wake up the device just enough to perform DMA, then return to the reduced power mode. See Hardware Wake-up control register. 0 = trigger when the TX FIFO becomes empty. 1 = trigger when the TX FIFO level decreases to one entry. 15 = trigger when the TX FIFO level decreases to 15 entries (is no longer full).</description>
              <bitOffset>8</bitOffset>
              <bitWidth>4</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>RXLVL</name>
              <description>Receive FIFO level trigger point. The RX FIFO level is checked when a new piece of data is received. This field is used only when RXLVLENA = 1. If enabled to do so, the FIFO level can wake up the device just enough to perform DMA, then return to the reduced power mode. See Hardware Wake-up control register. 0 = trigger when the RX FIFO has received one entry (is no longer empty). 1 = trigger when the RX FIFO has received two entries. 15 = trigger when the RX FIFO has received 16 entries (has become full).</description>
              <bitOffset>16</bitOffset>
              <bitWidth>4</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>FIFOINTENSET</name>
          <description>FIFO interrupt enable set (enable) and read register.</description>
          <addressOffset>0xE10</addressOffset>
          <size>32</size>
          <access>read-write</access>
          <resetValue>0</resetValue>
          <resetMask>0xF</resetMask>
          <fields>
            <field>
              <name>TXERR</name>
              <description>Determines whether an interrupt occurs when a transmit error occurs, based on the TXERR flag in the FIFOSTAT register.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>DISABLED</name>
                  <description>No interrupt will be generated for a transmit error.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ENABLED</name>
                  <description>An interrupt will be generated when a transmit error occurs.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>RXERR</name>
              <description>Determines whether an interrupt occurs when a receive error occurs, based on the RXERR flag in the FIFOSTAT register.</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>DISABLED</name>
                  <description>No interrupt will be generated for a receive error.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ENABLED</name>
                  <description>An interrupt will be generated when a receive error occurs.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>TXLVL</name>
              <description>Determines whether an interrupt occurs when a the transmit FIFO reaches the level specified by the TXLVL field in the FIFOTRIG register.</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>DISABLED</name>
                  <description>No interrupt will be generated based on the TX FIFO level.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ENABLED</name>
                  <description>If TXLVLENA in the FIFOTRIG register = 1, an interrupt will be generated when the TX FIFO level decreases to the level specified by TXLVL in the FIFOTRIG register.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>RXLVL</name>
              <description>Determines whether an interrupt occurs when a the receive FIFO reaches the level specified by the TXLVL field in the FIFOTRIG register.</description>
              <bitOffset>3</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>DISABLED</name>
                  <description>No interrupt will be generated based on the RX FIFO level.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ENABLED</name>
                  <description>If RXLVLENA in the FIFOTRIG register = 1, an interrupt will be generated when the when the RX FIFO level increases to the level specified by RXLVL in the FIFOTRIG register.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>FIFOINTENCLR</name>
          <description>FIFO interrupt enable clear (disable) and read register.</description>
          <addressOffset>0xE14</addressOffset>
          <size>32</size>
          <access>read-write</access>
          <resetValue>0</resetValue>
          <resetMask>0xF</resetMask>
          <fields>
            <field>
              <name>TXERR</name>
              <description>Writing one clears the corresponding bits in the FIFOINTENSET register.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>RXERR</name>
              <description>Writing one clears the corresponding bits in the FIFOINTENSET register.</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>TXLVL</name>
              <description>Writing one clears the corresponding bits in the FIFOINTENSET register.</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>RXLVL</name>
              <description>Writing one clears the corresponding bits in the FIFOINTENSET register.</description>
              <bitOffset>3</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>FIFOINTSTAT</name>
          <description>FIFO interrupt status register.</description>
          <addressOffset>0xE18</addressOffset>
          <size>32</size>
          <access>read-only</access>
          <resetValue>0</resetValue>
          <resetMask>0x1F</resetMask>
          <fields>
            <field>
              <name>TXERR</name>
              <description>TX FIFO error.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
            </field>
            <field>
              <name>RXERR</name>
              <description>RX FIFO error.</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
            </field>
            <field>
              <name>TXLVL</name>
              <description>Transmit FIFO level interrupt.</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
            </field>
            <field>
              <name>RXLVL</name>
              <description>Receive FIFO level interrupt.</description>
              <bitOffset>3</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
            </field>
            <field>
              <name>PERINT</name>
              <description>Peripheral interrupt.</description>
              <bitOffset>4</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
            </field>
          </fields>
        </register>
        <register>
          <name>FIFOWR</name>
          <description>FIFO write data.</description>
          <addressOffset>0xE20</addressOffset>
          <size>32</size>
          <access>read-write</access>
          <resetValue>0</resetValue>
          <resetMask>0</resetMask>
          <fields>
            <field>
              <name>TXDATA</name>
              <description>Transmit data to the FIFO.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>9</bitWidth>
              <access>write-only</access>
            </field>
          </fields>
        </register>
        <register>
          <name>FIFORD</name>
          <description>FIFO read data.</description>
          <addressOffset>0xE30</addressOffset>
          <size>32</size>
          <access>read-only</access>
          <resetValue>0</resetValue>
          <resetMask>0xE1FF</resetMask>
          <fields>
            <field>
              <name>RXDATA</name>
              <description>Received data from the FIFO. The number of bits used depends on the DATALEN and PARITYSEL settings.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>9</bitWidth>
              <access>read-only</access>
            </field>
            <field>
              <name>FRAMERR</name>
              <description>Framing Error status flag. This bit reflects the status for the data it is read along with from the FIFO, and indicates that the character was received with a missing stop bit at the expected location. This could be an indication of a baud rate or configuration mismatch with the transmitting source.</description>
              <bitOffset>13</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
            </field>
            <field>
              <name>PARITYERR</name>
              <description>Parity Error status flag. This bit reflects the status for the data it is read along with from the FIFO. This bit will be set when a parity error is detected in a received character.</description>
              <bitOffset>14</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
            </field>
            <field>
              <name>RXNOISE</name>
              <description>Received Noise flag. See description of the RxNoiseInt bit in Table 354.</description>
              <bitOffset>15</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
            </field>
          </fields>
        </register>
        <register>
          <name>FIFORDNOPOP</name>
          <description>FIFO data read with no FIFO pop.</description>
          <addressOffset>0xE40</addressOffset>
          <size>32</size>
          <access>read-only</access>
          <resetValue>0</resetValue>
          <resetMask>0xE1FF</resetMask>
          <fields>
            <field>
              <name>RXDATA</name>
              <description>Received data from the FIFO. The number of bits used depends on the DATALEN and PARITYSEL settings.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>9</bitWidth>
              <access>read-only</access>
            </field>
            <field>
              <name>FRAMERR</name>
              <description>Framing Error status flag. This bit reflects the status for the data it is read along with from the FIFO, and indicates that the character was received with a missing stop bit at the expected location. This could be an indication of a baud rate or configuration mismatch with the transmitting source.</description>
              <bitOffset>13</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
            </field>
            <field>
              <name>PARITYERR</name>
              <description>Parity Error status flag. This bit reflects the status for the data it is read along with from the FIFO. This bit will be set when a parity error is detected in a received character.</description>
              <bitOffset>14</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
            </field>
            <field>
              <name>RXNOISE</name>
              <description>Received Noise flag. See description of the RxNoiseInt bit in Table 354.</description>
              <bitOffset>15</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
            </field>
          </fields>
        </register>
        <register>
          <name>ID</name>
          <description>Peripheral identification register.</description>
          <addressOffset>0xFFC</addressOffset>
          <size>32</size>
          <access>read-only</access>
          <resetValue>0xE0100000</resetValue>
          <resetMask>0xFFFFFFFF</resetMask>
          <fields>
            <field>
              <name>APERTURE</name>
              <description>Aperture: encoded as (aperture size/4K) -1, so 0x00 means a 4K aperture.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>8</bitWidth>
              <access>read-only</access>
            </field>
            <field>
              <name>MINOR_REV</name>
              <description>Minor revision of module implementation.</description>
              <bitOffset>8</bitOffset>
              <bitWidth>4</bitWidth>
              <access>read-only</access>
            </field>
            <field>
              <name>MAJOR_REV</name>
              <description>Major revision of module implementation.</description>
              <bitOffset>12</bitOffset>
              <bitWidth>4</bitWidth>
              <access>read-only</access>
            </field>
            <field>
              <name>ID</name>
              <description>Module identifier for the selected function.</description>
              <bitOffset>16</bitOffset>
              <bitWidth>16</bitWidth>
              <access>read-only</access>
            </field>
          </fields>
        </register>
      </registers>
    </peripheral>
    <peripheral derivedFrom="USART0">
      <name>USART1</name>
      <description>LPC51u68 USARTs</description>
      <alternatePeripheral>FLEXCOMM1</alternatePeripheral>
      <groupName>USART</groupName>
      <baseAddress>0x40087000</baseAddress>
      <addressBlock>
        <offset>0</offset>
        <size>0x1000</size>
        <usage>registers</usage>
      </addressBlock>
      <interrupt>
        <name>FLEXCOMM1</name>
        <value>15</value>
      </interrupt>
    </peripheral>
    <peripheral derivedFrom="USART0">
      <name>USART2</name>
      <description>LPC51u68 USARTs</description>
      <alternatePeripheral>FLEXCOMM2</alternatePeripheral>
      <groupName>USART</groupName>
      <baseAddress>0x40088000</baseAddress>
      <addressBlock>
        <offset>0</offset>
        <size>0x1000</size>
        <usage>registers</usage>
      </addressBlock>
      <interrupt>
        <name>FLEXCOMM2</name>
        <value>16</value>
      </interrupt>
    </peripheral>
    <peripheral derivedFrom="USART0">
      <name>USART3</name>
      <description>LPC51u68 USARTs</description>
      <alternatePeripheral>FLEXCOMM3</alternatePeripheral>
      <groupName>USART</groupName>
      <baseAddress>0x40089000</baseAddress>
      <addressBlock>
        <offset>0</offset>
        <size>0x1000</size>
        <usage>registers</usage>
      </addressBlock>
      <interrupt>
        <name>FLEXCOMM3</name>
        <value>17</value>
      </interrupt>
    </peripheral>
    <peripheral derivedFrom="USART0">
      <name>USART4</name>
      <description>LPC51u68 USARTs</description>
      <alternatePeripheral>FLEXCOMM4</alternatePeripheral>
      <groupName>USART</groupName>
      <baseAddress>0x4008A000</baseAddress>
      <addressBlock>
        <offset>0</offset>
        <size>0x1000</size>
        <usage>registers</usage>
      </addressBlock>
      <interrupt>
        <name>FLEXCOMM4</name>
        <value>18</value>
      </interrupt>
    </peripheral>
    <peripheral derivedFrom="USART0">
      <name>USART5</name>
      <description>LPC51u68 USARTs</description>
      <alternatePeripheral>FLEXCOMM5</alternatePeripheral>
      <groupName>USART</groupName>
      <baseAddress>0x40096000</baseAddress>
      <addressBlock>
        <offset>0</offset>
        <size>0x1000</size>
        <usage>registers</usage>
      </addressBlock>
      <interrupt>
        <name>FLEXCOMM5</name>
        <value>19</value>
      </interrupt>
    </peripheral>
    <peripheral derivedFrom="USART0">
      <name>USART6</name>
      <description>LPC51u68 USARTs</description>
      <alternatePeripheral>FLEXCOMM6</alternatePeripheral>
      <groupName>USART</groupName>
      <baseAddress>0x40097000</baseAddress>
      <addressBlock>
        <offset>0</offset>
        <size>0x1000</size>
        <usage>registers</usage>
      </addressBlock>
      <interrupt>
        <name>FLEXCOMM6</name>
        <value>20</value>
      </interrupt>
    </peripheral>
    <peripheral derivedFrom="USART0">
      <name>USART7</name>
      <description>LPC51u68 USARTs</description>
      <alternatePeripheral>FLEXCOMM7</alternatePeripheral>
      <groupName>USART</groupName>
      <baseAddress>0x40098000</baseAddress>
      <addressBlock>
        <offset>0</offset>
        <size>0x1000</size>
        <usage>registers</usage>
      </addressBlock>
      <interrupt>
        <name>FLEXCOMM7</name>
        <value>21</value>
      </interrupt>
    </peripheral>
    <peripheral>
      <name>GPIO</name>
      <description>LPC51u68 General Purpose I/O (GPIO)</description>
      <groupName>GPIO</groupName>
      <baseAddress>0x4008C000</baseAddress>
      <addressBlock>
        <offset>0</offset>
        <size>0x2488</size>
        <usage>registers</usage>
      </addressBlock>
      <registers>
        <register>
          <dim>50</dim>
          <dimIncrement>0x1</dimIncrement>
          <name>B[%s]</name>
          <description>Byte pin registers for all port 0 and 1 GPIO pins</description>
          <addressOffset>0</addressOffset>
          <size>8</size>
          <access>read-write</access>
          <resetValue>0</resetValue>
          <resetMask>0x1</resetMask>
          <fields>
            <field>
              <name>PBYTE</name>
              <description>Read: state of the pin PIOm_n, regardless of direction, masking, or alternate function, except that pins configured as analog I/O always read as 0. One register for each port pin. Supported pins depends on the specific device and package. Write: loads the pin's output bit. One register for each port pin. Supported pins depends on the specific device and package.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <dim>50</dim>
          <dimIncrement>0x4</dimIncrement>
          <name>W[%s]</name>
          <description>Word pin registers for all port 0 and 1 GPIO pins</description>
          <addressOffset>0x1000</addressOffset>
          <size>32</size>
          <access>read-write</access>
          <resetValue>0</resetValue>
          <resetMask>0xFFFFFFFF</resetMask>
          <fields>
            <field>
              <name>PWORD</name>
              <description>Read 0: pin PIOm_n is LOW. Write 0: clear output bit. Read 0xFFFF FFFF: pin PIOm_n is HIGH. Write any value 0x0000 0001 to 0xFFFF FFFF: set output bit. Only 0 or 0xFFFF FFFF can be read. Writing any value other than 0 will set the output bit. One register for each port pin. Supported pins depends on the specific device and package.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>32</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <dim>2</dim>
          <dimIncrement>0x4</dimIncrement>
          <name>DIR[%s]</name>
          <description>Direction registers</description>
          <addressOffset>0x2000</addressOffset>
          <size>32</size>
          <access>read-write</access>
          <resetValue>0</resetValue>
          <resetMask>0xFFFFFFFF</resetMask>
          <fields>
            <field>
              <name>DIRP</name>
              <description>Selects pin direction for pin PIOm_n (bit 0 = PIOn_0, bit 1 = PIOn_1, etc.). Supported pins depends on the specific device and package. 0 = input. 1 = output.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>32</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <dim>2</dim>
          <dimIncrement>0x4</dimIncrement>
          <name>MASK[%s]</name>
          <description>Mask register</description>
          <addressOffset>0x2080</addressOffset>
          <size>32</size>
          <access>read-write</access>
          <resetValue>0</resetValue>
          <resetMask>0xFFFFFFFF</resetMask>
          <fields>
            <field>
              <name>MASKP</name>
              <description>Controls which bits corresponding to PIOm_n are active in the MPORT register (bit 0 = PIOn_0, bit 1 = PIOn_1, etc.). Supported pins depends on the specific device and package. 0 = Read MPORT: pin state; write MPORT: load output bit. 1 = Read MPORT: 0; write MPORT: output bit not affected.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>32</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <dim>2</dim>
          <dimIncrement>0x4</dimIncrement>
          <name>PIN[%s]</name>
          <description>Port pin register</description>
          <addressOffset>0x2100</addressOffset>
          <size>32</size>
          <access>read-write</access>
          <resetValue>0</resetValue>
          <resetMask>0xFFFFFFFF</resetMask>
          <fields>
            <field>
              <name>PORT</name>
              <description>Reads pin states or loads output bits (bit 0 = PIOn_0, bit 1 = PIOn_1, etc.). Supported pins depends on the specific device and package. 0 = Read: pin is low; write: clear output bit. 1 = Read: pin is high; write: set output bit.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>32</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <dim>2</dim>
          <dimIncrement>0x4</dimIncrement>
          <name>MPIN[%s]</name>
          <description>Masked port register</description>
          <addressOffset>0x2180</addressOffset>
          <size>32</size>
          <access>read-write</access>
          <resetValue>0</resetValue>
          <resetMask>0xFFFFFFFF</resetMask>
          <fields>
            <field>
              <name>MPORTP</name>
              <description>Masked port register (bit 0 = PIOn_0, bit 1 = PIOn_1, etc.). Supported pins depends on the specific device and package. 0 = Read: pin is LOW and/or the corresponding bit in the MASK register is 1; write: clear output bit if the corresponding bit in the MASK register is 0. 1 = Read: pin is HIGH and the corresponding bit in the MASK register is 0; write: set output bit if the corresponding bit in the MASK register is 0.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>32</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <dim>2</dim>
          <dimIncrement>0x4</dimIncrement>
          <name>SET[%s]</name>
          <description>Write: Set register for port Read: output bits for port</description>
          <addressOffset>0x2200</addressOffset>
          <size>32</size>
          <access>read-write</access>
          <resetValue>0</resetValue>
          <resetMask>0xFFFFFFFF</resetMask>
          <fields>
            <field>
              <name>SETP</name>
              <description>Read or set output bits (bit 0 = PIOn_0, bit 1 = PIOn_1, etc.). Supported pins depends on the specific device and package. 0 = Read: output bit: write: no operation. 1 = Read: output bit; write: set output bit.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>32</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <dim>2</dim>
          <dimIncrement>0x4</dimIncrement>
          <name>CLR[%s]</name>
          <description>Clear port</description>
          <addressOffset>0x2280</addressOffset>
          <size>32</size>
          <access>write-only</access>
          <resetValue>0</resetValue>
          <resetMask>0</resetMask>
          <fields>
            <field>
              <name>CLRP</name>
              <description>Clear output bits (bit 0 = PIOn_0, bit 1 = PIOn_1, etc.). Supported pins depends on the specific device and package. 0 = No operation. 1 = Clear output bit.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>32</bitWidth>
              <access>write-only</access>
            </field>
          </fields>
        </register>
        <register>
          <dim>2</dim>
          <dimIncrement>0x4</dimIncrement>
          <name>NOT[%s]</name>
          <description>Toggle port</description>
          <addressOffset>0x2300</addressOffset>
          <size>32</size>
          <access>write-only</access>
          <resetValue>0</resetValue>
          <resetMask>0</resetMask>
          <fields>
            <field>
              <name>NOTP</name>
              <description>Toggle output bits (bit 0 = PIOn_0, bit 1 = PIOn_1, etc.). Supported pins depends on the specific device and package. 0 = no operation. 1 = Toggle output bit.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>32</bitWidth>
              <access>write-only</access>
            </field>
          </fields>
        </register>
        <register>
          <dim>2</dim>
          <dimIncrement>0x4</dimIncrement>
          <name>DIRSET[%s]</name>
          <description>Set pin direction bits for port</description>
          <addressOffset>0x2380</addressOffset>
          <size>32</size>
          <access>write-only</access>
          <resetValue>0</resetValue>
          <resetMask>0</resetMask>
          <fields>
            <field>
              <name>DIRSETP</name>
              <description>Set direction bits (bit 0 = PIOn_0, bit 1 = PIOn_1, etc.). Supported pins depends on the specific device and package. 0 = No operation. 1 = Set direction bit.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>32</bitWidth>
              <access>write-only</access>
            </field>
          </fields>
        </register>
        <register>
          <dim>2</dim>
          <dimIncrement>0x4</dimIncrement>
          <name>DIRCLR[%s]</name>
          <description>Clear pin direction bits for port</description>
          <addressOffset>0x2400</addressOffset>
          <size>32</size>
          <access>write-only</access>
          <resetValue>0</resetValue>
          <resetMask>0</resetMask>
          <fields>
            <field>
              <name>DIRCLRP</name>
              <description>Clear direction bits (bit 0 = PIOn_0, bit 1 = PIOn_1, etc.). Supported pins depends on the specific device and package. 0 = No operation. 1 = Clear direction bit.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>32</bitWidth>
              <access>write-only</access>
            </field>
          </fields>
        </register>
        <register>
          <dim>2</dim>
          <dimIncrement>0x4</dimIncrement>
          <name>DIRNOT[%s]</name>
          <description>Toggle pin direction bits for port</description>
          <addressOffset>0x2480</addressOffset>
          <size>32</size>
          <access>write-only</access>
          <resetValue>0</resetValue>
          <resetMask>0</resetMask>
          <fields>
            <field>
              <name>DIRNOTP</name>
              <description>Toggle direction bits (bit 0 = PIOn_0, bit 1 = PIOn_1, etc.). Supported pins depends on the specific device and package. 0 = no operation. 1 = Toggle direction bit.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>32</bitWidth>
              <access>write-only</access>
            </field>
          </fields>
        </register>
      </registers>
    </peripheral>
    <peripheral>
      <name>CRC_ENGINE</name>
      <description>LPC51u68 CRC engine</description>
      <groupName>CRC</groupName>
      <baseAddress>0x40095000</baseAddress>
      <addressBlock>
        <offset>0</offset>
        <size>0xC</size>
        <usage>registers</usage>
      </addressBlock>
      <registers>
        <register>
          <name>MODE</name>
          <description>CRC mode register</description>
          <addressOffset>0</addressOffset>
          <size>32</size>
          <access>read-write</access>
          <resetValue>0</resetValue>
          <resetMask>0x3F</resetMask>
          <fields>
            <field>
              <name>CRC_POLY</name>
              <description>CRC polynomial: 1X = CRC-32 polynomial 01 = CRC-16 polynomial 00 = CRC-CCITT polynomial</description>
              <bitOffset>0</bitOffset>
              <bitWidth>2</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>BIT_RVS_WR</name>
              <description>Data bit order: 1 = Bit order reverse for CRC_WR_DATA (per byte) 0 = No bit order reverse for CRC_WR_DATA (per byte)</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>CMPL_WR</name>
              <description>Data complement: 1 = 1's complement for CRC_WR_DATA 0 = No 1's complement for CRC_WR_DATA</description>
              <bitOffset>3</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>BIT_RVS_SUM</name>
              <description>CRC sum bit order: 1 = Bit order reverse for CRC_SUM 0 = No bit order reverse for CRC_SUM</description>
              <bitOffset>4</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>CMPL_SUM</name>
              <description>CRC sum complement: 1 = 1's complement for CRC_SUM 0 = No 1's complement for CRC_SUM</description>
              <bitOffset>5</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>SEED</name>
          <description>CRC seed register</description>
          <addressOffset>0x4</addressOffset>
          <size>32</size>
          <access>read-write</access>
          <resetValue>0xFFFF</resetValue>
          <resetMask>0xFFFFFFFF</resetMask>
          <fields>
            <field>
              <name>CRC_SEED</name>
              <description>A write access to this register will load CRC seed value to CRC_SUM register with selected bit order and 1's complement pre-processes. A write access to this register will overrule the CRC calculation in progresses.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>32</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>SUM</name>
          <description>CRC checksum register</description>
          <alternateGroup>SUM_WR_DATA</alternateGroup>
          <addressOffset>0x8</addressOffset>
          <size>32</size>
          <access>read-only</access>
          <resetValue>0xFFFF</resetValue>
          <resetMask>0xFFFFFFFF</resetMask>
          <fields>
            <field>
              <name>CRC_SUM</name>
              <description>The most recent CRC sum can be read through this register with selected bit order and 1's complement post-processes.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>32</bitWidth>
              <access>read-only</access>
            </field>
          </fields>
        </register>
        <register>
          <name>WR_DATA</name>
          <description>CRC data register</description>
          <alternateGroup>SUM_WR_DATA</alternateGroup>
          <addressOffset>0x8</addressOffset>
          <size>32</size>
          <access>write-only</access>
          <resetValue>0</resetValue>
          <resetMask>0</resetMask>
          <fields>
            <field>
              <name>CRC_WR_DATA</name>
              <description>Data written to this register will be taken to perform CRC calculation with selected bit order and 1's complement pre-process. Any write size 8, 16 or 32-bit are allowed and accept back-to-back transactions.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>32</bitWidth>
              <access>write-only</access>
            </field>
          </fields>
        </register>
      </registers>
    </peripheral>
    <peripheral>
      <name>I2S0</name>
      <description>LPC51u68 I2S interface</description>
      <alternatePeripheral>FLEXCOMM6</alternatePeripheral>
      <groupName>I2S</groupName>
      <headerStructName>I2S</headerStructName>
      <baseAddress>0x40097000</baseAddress>
      <addressBlock>
        <offset>0</offset>
        <size>0x1000</size>
        <usage>registers</usage>
      </addressBlock>
      <interrupt>
        <name>FLEXCOMM6</name>
        <value>20</value>
      </interrupt>
      <registers>
        <register>
          <name>CFG1</name>
          <description>Configuration register 1 for the primary channel pair.</description>
          <addressOffset>0xC00</addressOffset>
          <size>32</size>
          <access>read-write</access>
          <resetValue>0</resetValue>
          <resetMask>0x1F3FFF</resetMask>
          <fields>
            <field>
              <name>MAINENABLE</name>
              <description>Main enable for I 2S function in this Flexcomm</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>DISABLED</name>
                  <description>All I 2S channel pairs in this Flexcomm are disabled and the internal state machines, counters, and flags are reset. No other channel pairs can be enabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ENABLED</name>
                  <description>This I 2S channel pair is enabled. Other channel pairs in this Flexcomm may be enabled in their individual PAIRENABLE bits.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>DATAPAUSE</name>
              <description>Data flow Pause. Allows pausing data flow between the I2S serializer/deserializer and the FIFO. This could be done in order to change streams, or while restarting after a data underflow or overflow. When paused, FIFO operations can be done without corrupting data that is in the process of being sent or received. Once a data pause has been requested, the interface may need to complete sending data that was in progress before interrupting the flow of data. Software must check that the pause is actually in effect before taking action. This is done by monitoring the DATAPAUSED flag in the STAT register. When DATAPAUSE is cleared, data transfer will resume at the beginning of the next frame.</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>NORMAL</name>
                  <description>Normal operation, or resuming normal operation at the next frame if the I2S has already been paused.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>PAUSE</name>
                  <description>A pause in the data flow is being requested. It is in effect when DATAPAUSED in STAT = 1.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>PAIRCOUNT</name>
              <description>Provides the number of I2S channel pairs in this Flexcomm This is a read-only field whose value may be different in other Flexcomms. 00 = there is 1 I2S channel pair in this Flexcomm. 01 = there are 2 I2S channel pairs in this Flexcomm. 10 = there are 3 I2S channel pairs in this Flexcomm. 11 = there are 4 I2S channel pairs in this Flexcomm.</description>
              <bitOffset>2</bitOffset>
              <bitWidth>2</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>PAIRS_1</name>
                  <description>1 I2S channel pairs in this flexcomm</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>PAIRS_2</name>
                  <description>2 I2S channel pairs in this flexcomm</description>
                  <value>0x1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>PAIRS_3</name>
                  <description>3 I2S channel pairs in this flexcomm</description>
                  <value>0x2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>PAIRS_4</name>
                  <description>4 I2S channel pairs in this flexcomm</description>
                  <value>0x3</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>MSTSLVCFG</name>
              <description>Master / slave configuration selection, determining how SCK and WS are used by all channel pairs in this Flexcomm.</description>
              <bitOffset>4</bitOffset>
              <bitWidth>2</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>NORMAL_SLAVE_MODE</name>
                  <description>Normal slave mode, the default mode. SCK and WS are received from a master and used to transmit or receive data.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>WS_SYNC_MASTER</name>
                  <description>WS synchronized master. WS is received from another master and used to synchronize the generation of SCK, when divided from the Flexcomm function clock.</description>
                  <value>0x1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>MASTER_USING_SCK</name>
                  <description>Master using an existing SCK. SCK is received and used directly to generate WS, as well as transmitting or receiving data.</description>
                  <value>0x2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>NORMAL_MASTER</name>
                  <description>Normal master mode. SCK and WS are generated so they can be sent to one or more slave devices.</description>
                  <value>0x3</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>MODE</name>
              <description>Selects the basic I2S operating mode. Other configurations modify this to obtain all supported cases. See Formats and modes for examples.</description>
              <bitOffset>6</bitOffset>
              <bitWidth>2</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>CLASSIC_MODE</name>
                  <description>I2S mode a.k.a. 'classic' mode. WS has a 50% duty cycle, with (for each enabled channel pair) one piece of left channel data occurring during the first phase, and one pieces of right channel data occurring during the second phase. In this mode, the data region begins one clock after the leading WS edge for the frame. For a 50% WS duty cycle, FRAMELEN must define an even number of I2S clocks for the frame. If FRAMELEN defines an odd number of clocks per frame, the extra clock will occur on the right.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>DSP_MODE_WS_50_DUTYCYCLE</name>
                  <description>DSP mode where WS has a 50% duty cycle. See remark for mode 0.</description>
                  <value>0x1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>DSP_MODE_WS_1_CLOCK</name>
                  <description>DSP mode where WS has a one clock long pulse at the beginning of each data frame.</description>
                  <value>0x2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>DSP_MODE_WS_1_DATA</name>
                  <description>DSP mode where WS has a one data slot long pulse at the beginning of each data frame.</description>
                  <value>0x3</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>RIGHTLOW</name>
              <description>Right channel data is in the Low portion of FIFO data. Essentially, this swaps left and right channel data as it is transferred to or from the FIFO. This bit is not used if the data width is greater than 24 bits or if PDMDATA = 1. Note that if the ONECHANNEL field (bit 10 of this register) = 1, the one channel to be used is the nominally the left channel. POSITION can still place that data in the frame where right channel data is normally located. if all enabled channel pairs have ONECHANNEL = 1, then RIGHTLOW = 1 is not allowed.</description>
              <bitOffset>8</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>RIGHT_HIGH</name>
                  <description>The right channel is taken from the high part of the FIFO data. For example, when data is 16 bits, FIFO bits 31:16 are used for the right channel.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>RIGHT_LOW</name>
                  <description>The right channel is taken from the low part of the FIFO data. For example, when data is 16 bits, FIFO bits 15:0 are used for the right channel.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>LEFTJUST</name>
              <description>Left Justify data.</description>
              <bitOffset>9</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>RIGHT_JUSTIFIED</name>
                  <description>Data is transferred between the FIFO and the I2S serializer/deserializer right justified, i.e. starting from bit 0 and continuing to the position defined by DATALEN. This would correspond to right justified data in the stream on the data bus.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>LEFT_JUSTIFIED</name>
                  <description>Data is transferred between the FIFO and the I2S serializer/deserializer left justified, i.e. starting from the MSB of the FIFO entry and continuing for the number of bits defined by DATALEN. This would correspond to left justified data in the stream on the data bus.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>ONECHANNEL</name>
              <description>Single channel mode. Applies to both transmit and receive. This configuration bit applies only to the first I2S channel pair. Other channel pairs may select this mode independently in their separate CFG1 registers.</description>
              <bitOffset>10</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>DUAL_CHANNEL</name>
                  <description>I2S data for this channel pair is treated as left and right channels.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>SINGLE_CHANNEL</name>
                  <description>I2S data for this channel pair is treated as a single channel, functionally the left channel for this pair. In mode 0 only, the right side of the frame begins at POSITION = 0x100. This is because mode 0 makes a clear distinction between the left and right sides of the frame. When ONECHANNEL = 1, the single channel of data may be placed on the right by setting POSITION to 0x100 + the data position within the right side (e.g. 0x108 would place data starting at the 8th clock after the middle of the frame). In other modes, data for the single channel of data is placed at the clock defined by POSITION.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>SCK_POL</name>
              <description>SCK polarity.</description>
              <bitOffset>12</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>FALLING_EDGE</name>
                  <description>Data is launched on SCK falling edges and sampled on SCK rising edges (standard for I2S).</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>RISING_EDGE</name>
                  <description>Data is launched on SCK rising edges and sampled on SCK falling edges.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>WS_POL</name>
              <description>WS polarity.</description>
              <bitOffset>13</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>NOT_INVERTED</name>
                  <description>Data frames begin at a falling edge of WS (standard for classic I2S).</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>INVERTED</name>
                  <description>WS is inverted, resulting in a data frame beginning at a rising edge of WS (standard for most 'non-classic' variations of I2S).</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>DATALEN</name>
              <description>Data Length, minus 1 encoded, defines the number of data bits to be transmitted or received for all I2S channel pairs in this Flexcomm. Note that data is only driven to or received from SDA for the number of bits defined by DATALEN. DATALEN is also used in these ways by the I2S: Determines the size of data transfers between the FIFO and the I2S serializer/deserializer. See FIFO buffer configurations and usage In mode 1, 2, and 3, determines the location of right data following left data in the frame. In mode 3 (where WS has a one data slot long pulse at the beginning of each data frame) determines the duration of the WS pulse. Values: 0x00 to 0x02 = not supported 0x03 = data is 4 bits in length 0x04 = data is 5 bits in length 0x1F = data is 32 bits in length</description>
              <bitOffset>16</bitOffset>
              <bitWidth>5</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>CFG2</name>
          <description>Configuration register 2 for the primary channel pair.</description>
          <addressOffset>0xC04</addressOffset>
          <size>32</size>
          <access>read-write</access>
          <resetValue>0</resetValue>
          <resetMask>0x1FF01FF</resetMask>
          <fields>
            <field>
              <name>FRAMELEN</name>
              <description>Frame Length, minus 1 encoded, defines the number of clocks and data bits in the frames that this channel pair participates in. See Frame format. 0x000 to 0x002 = not supported 0x003 = frame is 4 bits in total length 0x004 = frame is 5 bits in total length 0x1FF = frame is 512 bits in total length if FRAMELEN is an defines an odd length frame (e.g. 33 clocks) in mode 0 or 1, the extra clock appears in the right half. When MODE = 3, FRAMELEN must be larger than DATALEN in order for the WS pulse to be generated correctly.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>9</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>POSITION</name>
              <description>Data Position. Defines the location within the frame of the data for this channel pair. POSITION + DATALEN must be less than FRAMELEN. See Frame format. When MODE = 0, POSITION defines the location of data in both the left phase and right phase, starting one clock after the WS edge. In other modes, POSITION defines the location of data within the entire frame. ONECHANNEL = 1 while MODE = 0 is a special case, see the description of ONECHANNEL. The combination of DATALEN and the POSITION fields of all channel pairs must be made such that the channels do not overlap within the frame. 0x000 = data begins at bit position 0 (the first bit position) within the frame or WS phase. 0x001 = data begins at bit position 1 within the frame or WS phase. 0x002 = data begins at bit position 2 within the frame or WS phase.</description>
              <bitOffset>16</bitOffset>
              <bitWidth>9</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>STAT</name>
          <description>Status register for the primary channel pair.</description>
          <addressOffset>0xC08</addressOffset>
          <size>32</size>
          <access>read-write</access>
          <resetValue>0</resetValue>
          <resetMask>0xD</resetMask>
          <fields>
            <field>
              <name>BUSY</name>
              <description>Busy status for the primary channel pair. Other BUSY flags may be found in the STAT register for each channel pair.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>IDLE</name>
                  <description>The transmitter/receiver for channel pair is currently idle.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>BUSY</name>
                  <description>The transmitter/receiver for channel pair is currently processing data.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>SLVFRMERR</name>
              <description>Slave Frame Error flag. This applies when at least one channel pair is operating as a slave. An error indicates that the incoming WS signal did not transition as expected due to a mismatch between FRAMELEN and the actual incoming I2S stream.</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
              <access>write-only</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>NO_ERROR</name>
                  <description>No error has been recorded.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ERROR</name>
                  <description>An error has been recorded for some channel pair that is operating in slave mode. ERROR is cleared by writing a 1 to this bit position.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>LR</name>
              <description>Left/Right indication. This flag is considered to be a debugging aid and is not expected to be used by an I2S driver. Valid when one channel pair is busy. Indicates left or right data being processed for the currently busy channel pair.</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>LEFT_CHANNEL</name>
                  <description>Left channel.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>RIGHT_CHANNEL</name>
                  <description>Right channel.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>DATAPAUSED</name>
              <description>Data Paused status flag. Applies to all I2S channels</description>
              <bitOffset>3</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>NOT_PAUSED</name>
                  <description>Data is not currently paused. A data pause may have been requested but is not yet in force, waiting for an allowed pause point. Refer to the description of the DATAPAUSE control bit in the CFG1 register.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>PAUSED</name>
                  <description>A data pause has been requested and is now in force.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>DIV</name>
          <description>Clock divider, used by all channel pairs.</description>
          <addressOffset>0xC1C</addressOffset>
          <size>32</size>
          <access>read-write</access>
          <resetValue>0</resetValue>
          <resetMask>0xFFF</resetMask>
          <fields>
            <field>
              <name>DIV</name>
              <description>This field controls how this I2S block uses the Flexcomm function clock. 0x000 = The Flexcomm function clock is used directly. 0x001 = The Flexcomm function clock is divided by 2. 0x002 = The Flexcomm function clock is divided by 3. 0xFFF = The Flexcomm function clock is divided by 4,096.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>12</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>FIFOCFG</name>
          <description>FIFO configuration and enable register.</description>
          <addressOffset>0xE00</addressOffset>
          <size>32</size>
          <access>read-write</access>
          <resetValue>0</resetValue>
          <resetMask>0x7F033</resetMask>
          <fields>
            <field>
              <name>ENABLETX</name>
              <description>Enable the transmit FIFO.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>DISABLED</name>
                  <description>The transmit FIFO is not enabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ENABLED</name>
                  <description>The transmit FIFO is enabled.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>ENABLERX</name>
              <description>Enable the receive FIFO.</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>DISABLED</name>
                  <description>The receive FIFO is not enabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ENABLED</name>
                  <description>The receive FIFO is enabled.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>TXI2SSE0</name>
              <description>Transmit I2S empty 0. Determines the value sent by the I2S in transmit mode if the TX FIFO becomes empty. This value is sent repeatedly until the I2S is paused, the error is cleared, new data is provided, and the I2S is un-paused.</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>LAST_VALUE</name>
                  <description>If the TX FIFO becomes empty, the last value is sent. This setting may be used when the data length is 24 bits or less, or when MONO = 1 for this channel pair.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ZERO</name>
                  <description>If the TX FIFO becomes empty, 0 is sent. Use if the data length is greater than 24 bits or if zero fill is preferred.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>PACK48</name>
              <description>Packing format for 48-bit data. This relates to how data is entered into or taken from the FIFO by software or DMA.</description>
              <bitOffset>3</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>BIT_24</name>
                  <description>48-bit I2S FIFO entries are handled as all 24-bit values.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>BIT_32_16</name>
                  <description>48-bit I2S FIFO entries are handled as alternating 32-bit and 16-bit values.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>SIZE</name>
              <description>FIFO size configuration. This is a read-only field. 0x0 = FIFO is configured as 16 entries of 8 bits. 0x1, 0x2, 0x3 = not applicable to USART.</description>
              <bitOffset>4</bitOffset>
              <bitWidth>2</bitWidth>
              <access>read-only</access>
            </field>
            <field>
              <name>DMATX</name>
              <description>DMA configuration for transmit.</description>
              <bitOffset>12</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>DISABLED</name>
                  <description>DMA is not used for the transmit function.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ENABLED</name>
                  <description>Trigger DMA for the transmit function if the FIFO is not full. Generally, data interrupts would be disabled if DMA is enabled.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>DMARX</name>
              <description>DMA configuration for receive.</description>
              <bitOffset>13</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>DISABLED</name>
                  <description>DMA is not used for the receive function.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ENABLED</name>
                  <description>Trigger DMA for the receive function if the FIFO is not empty. Generally, data interrupts would be disabled if DMA is enabled.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>WAKETX</name>
              <description>Wake-up for transmit FIFO level. This allows the device to be woken from reduced power modes (up to power-down, as long as the peripheral function works in that power mode) without enabling the TXLVL interrupt. Only DMA wakes up, processes data, and goes back to sleep. The CPU will remain stopped until woken by another cause, such as DMA completion. See Hardware Wake-up control register.</description>
              <bitOffset>14</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>DISABLED</name>
                  <description>Only enabled interrupts will wake up the device form reduced power modes.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ENABLED</name>
                  <description>A device wake-up for DMA will occur if the transmit FIFO level reaches the value specified by TXLVL in FIFOTRIG, even when the TXLVL interrupt is not enabled.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>WAKERX</name>
              <description>Wake-up for receive FIFO level. This allows the device to be woken from reduced power modes (up to power-down, as long as the peripheral function works in that power mode) without enabling the TXLVL interrupt. Only DMA wakes up, processes data, and goes back to sleep. The CPU will remain stopped until woken by another cause, such as DMA completion. See Hardware Wake-up control register.</description>
              <bitOffset>15</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>DISABLED</name>
                  <description>Only enabled interrupts will wake up the device form reduced power modes.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ENABLED</name>
                  <description>A device wake-up for DMA will occur if the receive FIFO level reaches the value specified by RXLVL in FIFOTRIG, even when the RXLVL interrupt is not enabled.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>EMPTYTX</name>
              <description>Empty command for the transmit FIFO. When a 1 is written to this bit, the TX FIFO is emptied.</description>
              <bitOffset>16</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>EMPTYRX</name>
              <description>Empty command for the receive FIFO. When a 1 is written to this bit, the RX FIFO is emptied.</description>
              <bitOffset>17</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>FIFOSTAT</name>
          <description>FIFO status register.</description>
          <addressOffset>0xE04</addressOffset>
          <size>32</size>
          <access>read-write</access>
          <resetValue>0x30</resetValue>
          <resetMask>0x1F1FFB</resetMask>
          <fields>
            <field>
              <name>TXERR</name>
              <description>TX FIFO error. Will be set if a transmit FIFO error occurs. This could be an overflow caused by pushing data into a full FIFO, or by an underflow if the FIFO is empty when data is needed. Cleared by writing a 1 to this bit.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>RXERR</name>
              <description>RX FIFO error. Will be set if a receive FIFO overflow occurs, caused by software or DMA not emptying the FIFO fast enough. Cleared by writing a 1 to this bit.</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>PERINT</name>
              <description>Peripheral interrupt. When 1, this indicates that the peripheral function has asserted an interrupt. The details can be found by reading the peripheral's STAT register.</description>
              <bitOffset>3</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
            </field>
            <field>
              <name>TXEMPTY</name>
              <description>Transmit FIFO empty. When 1, the transmit FIFO is empty. The peripheral may still be processing the last piece of data.</description>
              <bitOffset>4</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
            </field>
            <field>
              <name>TXNOTFULL</name>
              <description>Transmit FIFO not full. When 1, the transmit FIFO is not full, so more data can be written. When 0, the transmit FIFO is full and another write would cause it to overflow.</description>
              <bitOffset>5</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
            </field>
            <field>
              <name>RXNOTEMPTY</name>
              <description>Receive FIFO not empty. When 1, the receive FIFO is not empty, so data can be read. When 0, the receive FIFO is empty.</description>
              <bitOffset>6</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
            </field>
            <field>
              <name>RXFULL</name>
              <description>Receive FIFO full. When 1, the receive FIFO is full. Data needs to be read out to prevent the peripheral from causing an overflow.</description>
              <bitOffset>7</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
            </field>
            <field>
              <name>TXLVL</name>
              <description>Transmit FIFO current level. A 0 means the TX FIFO is currently empty, and the TXEMPTY and TXNOTFULL flags will be 1. Other values tell how much data is actually in the TX FIFO at the point where the read occurs. If the TX FIFO is full, the TXEMPTY and TXNOTFULL flags will be 0.</description>
              <bitOffset>8</bitOffset>
              <bitWidth>5</bitWidth>
              <access>read-only</access>
            </field>
            <field>
              <name>RXLVL</name>
              <description>Receive FIFO current level. A 0 means the RX FIFO is currently empty, and the RXFULL and RXNOTEMPTY flags will be 0. Other values tell how much data is actually in the RX FIFO at the point where the read occurs. If the RX FIFO is full, the RXFULL and RXNOTEMPTY flags will be 1.</description>
              <bitOffset>16</bitOffset>
              <bitWidth>5</bitWidth>
              <access>read-only</access>
            </field>
          </fields>
        </register>
        <register>
          <name>FIFOTRIG</name>
          <description>FIFO trigger settings for interrupt and DMA request.</description>
          <addressOffset>0xE08</addressOffset>
          <size>32</size>
          <access>read-write</access>
          <resetValue>0</resetValue>
          <resetMask>0xF0F03</resetMask>
          <fields>
            <field>
              <name>TXLVLENA</name>
              <description>Transmit FIFO level trigger enable. This trigger will become an interrupt if enabled in FIFOINTENSET, or a DMA trigger if DMATX in FIFOCFG is set.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>DISABLED</name>
                  <description>Transmit FIFO level does not generate a FIFO level trigger.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ENABLED</name>
                  <description>An trigger will be generated if the transmit FIFO level reaches the value specified by the TXLVL field in this register.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>RXLVLENA</name>
              <description>Receive FIFO level trigger enable. This trigger will become an interrupt if enabled in FIFOINTENSET, or a DMA trigger if DMARX in FIFOCFG is set.</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>DISABLED</name>
                  <description>Receive FIFO level does not generate a FIFO level trigger.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ENABLED</name>
                  <description>An trigger will be generated if the receive FIFO level reaches the value specified by the RXLVL field in this register.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>TXLVL</name>
              <description>Transmit FIFO level trigger point. This field is used only when TXLVLENA = 1. If enabled to do so, the FIFO level can wake up the device just enough to perform DMA, then return to the reduced power mode. See Hardware Wake-up control register. 0 = trigger when the TX FIFO becomes empty. 1 = trigger when the TX FIFO level decreases to one entry. 15 = trigger when the TX FIFO level decreases to 15 entries (is no longer full).</description>
              <bitOffset>8</bitOffset>
              <bitWidth>4</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>RXLVL</name>
              <description>Receive FIFO level trigger point. The RX FIFO level is checked when a new piece of data is received. This field is used only when RXLVLENA = 1. If enabled to do so, the FIFO level can wake up the device just enough to perform DMA, then return to the reduced power mode. See Hardware Wake-up control register. 0 = trigger when the RX FIFO has received one entry (is no longer empty). 1 = trigger when the RX FIFO has received two entries. 15 = trigger when the RX FIFO has received 16 entries (has become full).</description>
              <bitOffset>16</bitOffset>
              <bitWidth>4</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>FIFOINTENSET</name>
          <description>FIFO interrupt enable set (enable) and read register.</description>
          <addressOffset>0xE10</addressOffset>
          <size>32</size>
          <access>read-write</access>
          <resetValue>0</resetValue>
          <resetMask>0xF</resetMask>
          <fields>
            <field>
              <name>TXERR</name>
              <description>Determines whether an interrupt occurs when a transmit error occurs, based on the TXERR flag in the FIFOSTAT register.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>DISABLED</name>
                  <description>No interrupt will be generated for a transmit error.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ENABLED</name>
                  <description>An interrupt will be generated when a transmit error occurs.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>RXERR</name>
              <description>Determines whether an interrupt occurs when a receive error occurs, based on the RXERR flag in the FIFOSTAT register.</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>DISABLED</name>
                  <description>No interrupt will be generated for a receive error.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ENABLED</name>
                  <description>An interrupt will be generated when a receive error occurs.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>TXLVL</name>
              <description>Determines whether an interrupt occurs when a the transmit FIFO reaches the level specified by the TXLVL field in the FIFOTRIG register.</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>DISABLED</name>
                  <description>No interrupt will be generated based on the TX FIFO level.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ENABLED</name>
                  <description>If TXLVLENA in the FIFOTRIG register = 1, an interrupt will be generated when the TX FIFO level decreases to the level specified by TXLVL in the FIFOTRIG register.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>RXLVL</name>
              <description>Determines whether an interrupt occurs when a the receive FIFO reaches the level specified by the TXLVL field in the FIFOTRIG register.</description>
              <bitOffset>3</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>DISABLED</name>
                  <description>No interrupt will be generated based on the RX FIFO level.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ENABLED</name>
                  <description>If RXLVLENA in the FIFOTRIG register = 1, an interrupt will be generated when the when the RX FIFO level increases to the level specified by RXLVL in the FIFOTRIG register.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>FIFOINTENCLR</name>
          <description>FIFO interrupt enable clear (disable) and read register.</description>
          <addressOffset>0xE14</addressOffset>
          <size>32</size>
          <access>read-write</access>
          <resetValue>0</resetValue>
          <resetMask>0xF</resetMask>
          <fields>
            <field>
              <name>TXERR</name>
              <description>Writing one clears the corresponding bits in the FIFOINTENSET register.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>RXERR</name>
              <description>Writing one clears the corresponding bits in the FIFOINTENSET register.</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>TXLVL</name>
              <description>Writing one clears the corresponding bits in the FIFOINTENSET register.</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>RXLVL</name>
              <description>Writing one clears the corresponding bits in the FIFOINTENSET register.</description>
              <bitOffset>3</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>FIFOINTSTAT</name>
          <description>FIFO interrupt status register.</description>
          <addressOffset>0xE18</addressOffset>
          <size>32</size>
          <access>read-only</access>
          <resetValue>0</resetValue>
          <resetMask>0x1F</resetMask>
          <fields>
            <field>
              <name>TXERR</name>
              <description>TX FIFO error.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
            </field>
            <field>
              <name>RXERR</name>
              <description>RX FIFO error.</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
            </field>
            <field>
              <name>TXLVL</name>
              <description>Transmit FIFO level interrupt.</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
            </field>
            <field>
              <name>RXLVL</name>
              <description>Receive FIFO level interrupt.</description>
              <bitOffset>3</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
            </field>
            <field>
              <name>PERINT</name>
              <description>Peripheral interrupt.</description>
              <bitOffset>4</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
            </field>
          </fields>
        </register>
        <register>
          <name>FIFOWR</name>
          <description>FIFO write data.</description>
          <addressOffset>0xE20</addressOffset>
          <size>32</size>
          <access>write-only</access>
          <resetValue>0</resetValue>
          <resetMask>0</resetMask>
          <fields>
            <field>
              <name>TXDATA</name>
              <description>Transmit data to the FIFO. The number of bits used depends on configuration details.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>32</bitWidth>
              <access>write-only</access>
            </field>
          </fields>
        </register>
        <register>
          <name>FIFOWR48H</name>
          <description>FIFO write data for upper data bits. May only be used if the I2S is configured for 2x 24-bit data and not using DMA.</description>
          <addressOffset>0xE24</addressOffset>
          <size>32</size>
          <access>write-only</access>
          <resetValue>0</resetValue>
          <resetMask>0</resetMask>
          <fields>
            <field>
              <name>TXDATA</name>
              <description>Transmit data to the FIFO. Whether this register is used and the number of bits used depends on configuration details.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>24</bitWidth>
              <access>write-only</access>
            </field>
          </fields>
        </register>
        <register>
          <name>FIFORD</name>
          <description>FIFO read data.</description>
          <addressOffset>0xE30</addressOffset>
          <size>32</size>
          <access>read-only</access>
          <resetValue>0</resetValue>
          <resetMask>0</resetMask>
          <fields>
            <field>
              <name>RXDATA</name>
              <description>Received data from the FIFO. The number of bits used depends on configuration details.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>32</bitWidth>
              <access>read-only</access>
            </field>
          </fields>
        </register>
        <register>
          <name>FIFORD48H</name>
          <description>FIFO read data for upper data bits. May only be used if the I2S is configured for 2x 24-bit data and not using DMA.</description>
          <addressOffset>0xE34</addressOffset>
          <size>32</size>
          <access>read-only</access>
          <resetValue>0</resetValue>
          <resetMask>0xFFFFFF</resetMask>
          <fields>
            <field>
              <name>RXDATA</name>
              <description>Received data from the FIFO. Whether this register is used and the number of bits used depends on configuration details.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>24</bitWidth>
              <access>read-only</access>
            </field>
          </fields>
        </register>
        <register>
          <name>FIFORDNOPOP</name>
          <description>FIFO data read with no FIFO pop.</description>
          <addressOffset>0xE40</addressOffset>
          <size>32</size>
          <access>read-only</access>
          <resetValue>0</resetValue>
          <resetMask>0</resetMask>
          <fields>
            <field>
              <name>RXDATA</name>
              <description>Received data from the FIFO.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>32</bitWidth>
              <access>read-only</access>
            </field>
          </fields>
        </register>
        <register>
          <name>FIFORD48HNOPOP</name>
          <description>FIFO data read for upper data bits with no FIFO pop. May only be used if the I2S is configured for 2x 24-bit data and not using DMA.</description>
          <addressOffset>0xE44</addressOffset>
          <size>32</size>
          <access>read-only</access>
          <resetValue>0</resetValue>
          <resetMask>0xFFFFFF</resetMask>
          <fields>
            <field>
              <name>RXDATA</name>
              <description>Received data from the FIFO. Whether this register is used and the number of bits used depends on configuration details.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>24</bitWidth>
              <access>read-only</access>
            </field>
          </fields>
        </register>
        <register>
          <name>ID</name>
          <description>I2S Module identification</description>
          <addressOffset>0xFFC</addressOffset>
          <size>32</size>
          <access>read-only</access>
          <resetValue>0xE0900000</resetValue>
          <resetMask>0xFFFFFFFF</resetMask>
          <fields>
            <field>
              <name>Aperture</name>
              <description>Aperture: encoded as (aperture size/4K) -1, so 0x00 means a 4K aperture.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>8</bitWidth>
              <access>read-only</access>
            </field>
            <field>
              <name>Minor_Rev</name>
              <description>Minor revision of module implementation, starting at 0.</description>
              <bitOffset>8</bitOffset>
              <bitWidth>4</bitWidth>
              <access>read-only</access>
            </field>
            <field>
              <name>Major_Rev</name>
              <description>Major revision of module implementation, starting at 0.</description>
              <bitOffset>12</bitOffset>
              <bitWidth>4</bitWidth>
              <access>read-only</access>
            </field>
            <field>
              <name>ID</name>
              <description>Unique module identifier for this IP block.</description>
              <bitOffset>16</bitOffset>
              <bitWidth>16</bitWidth>
              <access>read-only</access>
            </field>
          </fields>
        </register>
      </registers>
    </peripheral>
    <peripheral derivedFrom="I2S0">
      <name>I2S1</name>
      <description>LPC51u68 I2S interface</description>
      <alternatePeripheral>FLEXCOMM7</alternatePeripheral>
      <groupName>I2S</groupName>
      <baseAddress>0x40098000</baseAddress>
      <addressBlock>
        <offset>0</offset>
        <size>0x1000</size>
        <usage>registers</usage>
      </addressBlock>
      <interrupt>
        <name>FLEXCOMM7</name>
        <value>21</value>
      </interrupt>
    </peripheral>
    <peripheral>
      <name>ADC0</name>
      <description>LPC51u68 12-bit ADC controller (ADC)</description>
      <groupName>ADC</groupName>
      <baseAddress>0x400A0000</baseAddress>
      <addressBlock>
        <offset>0</offset>
        <size>0x74</size>
        <usage>registers</usage>
      </addressBlock>
      <interrupt>
        <name>ADC0_SEQA</name>
        <value>22</value>
      </interrupt>
      <interrupt>
        <name>ADC0_SEQB</name>
        <value>23</value>
      </interrupt>
      <interrupt>
        <name>ADC0_THCMP</name>
        <value>24</value>
      </interrupt>
      <registers>
        <register>
          <name>CTRL</name>
          <description>ADC Control register. Contains the clock divide value, resolution selection, sampling time selection, and mode controls.</description>
          <addressOffset>0</addressOffset>
          <size>32</size>
          <access>read-write</access>
          <resetValue>0x600</resetValue>
          <resetMask>0x7FFF</resetMask>
          <fields>
            <field>
              <name>CLKDIV</name>
              <description>In synchronous mode only, the system clock is divided by this value plus one to produce the clock for the ADC converter, which should be less than or equal to 72 MHz. Typically, software should program the smallest value in this field that yields this maximum clock rate or slightly less, but in certain cases (such as a high-impedance analog source) a slower clock may be desirable. This field is ignored in the asynchronous operating mode.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>8</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>ASYNMODE</name>
              <description>Select clock mode.</description>
              <bitOffset>8</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>SYNCHRONOUS_MODE</name>
                  <description>Synchronous mode. The ADC clock is derived from the system clock based on the divide value selected in the CLKDIV field. The ADC clock will be started in a controlled fashion in response to a trigger to eliminate any uncertainty in the launching of an ADC conversion in response to any synchronous (on-chip) trigger. In Synchronous mode with the SYNCBYPASS bit (in a sequence control register) set, sampling of the ADC input and start of conversion will initiate 2 system clocks after the leading edge of a (synchronous) trigger pulse.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ASYNCHRONOUS_MODE</name>
                  <description>Asynchronous mode. The ADC clock is based on the output of the ADC clock divider ADCCLKSEL in the SYSCON block.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>RESOL</name>
              <description>The number of bits of ADC resolution. Accuracy can be reduced to achieve higher conversion rates. A single conversion (including one conversion in a burst or sequence) requires the selected number of bits of resolution plus 3 ADC clocks. This field must only be altered when the ADC is fully idle. Changing it during any kind of ADC operation may have unpredictable results. ADC clock frequencies for various resolutions must not exceed: - 5x the system clock rate for 12-bit resolution - 4.3x the system clock rate for 10-bit resolution - 3.6x the system clock for 8-bit resolution - 3x the bus clock rate for 6-bit resolution</description>
              <bitOffset>9</bitOffset>
              <bitWidth>2</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>RESOLUTION_6_BIT</name>
                  <description>6-bit resolution. An ADC conversion requires 9 ADC clocks, plus any clocks specified by the TSAMP field.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>RESOLUTION_8_BIT</name>
                  <description>8-bit resolution. An ADC conversion requires 11 ADC clocks, plus any clocks specified by the TSAMP field.</description>
                  <value>0x1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>RESOLUTION_10_BIT</name>
                  <description>10-bit resolution. An ADC conversion requires 13 ADC clocks, plus any clocks specified by the TSAMP field.</description>
                  <value>0x2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>RESOLUTION_12_BIT</name>
                  <description>12-bit resolution. An ADC conversion requires 15 ADC clocks, plus any clocks specified by the TSAMP field.</description>
                  <value>0x3</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>BYPASSCAL</name>
              <description>Bypass Calibration. This bit may be set to avoid the need to calibrate if offset error is not a concern in the application.</description>
              <bitOffset>11</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>CALIBRATE</name>
                  <description>Calibrate. The stored calibration value will be applied to the ADC during conversions to compensated for offset error. A calibration cycle must be performed each time the chip is powered-up. Re-calibration may be warranted periodically - especially if operating conditions have changed.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>BYPASS_CALIBRATION</name>
                  <description>Bypass calibration. Calibration is not utilized. Less time is required when enabling the ADC - particularly following chip power-up. Attempts to launch a calibration cycle are blocked when this bit is set.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>TSAMP</name>
              <description>Sample Time. The default sampling period (TSAMP = '000') at the start of each conversion is 2.5 ADC clock periods. Depending on a variety of factors, including operating conditions and the output impedance of the analog source, longer sampling times may be required. See Section 28.7.10. The TSAMP field specifies the number of additional ADC clock cycles, from zero to seven, by which the sample period will be extended. The total conversion time will increase by the same number of clocks. 000 - The sample period will be the default 2.5 ADC clocks. A complete conversion with 12-bits of accuracy will require 15 clocks. 001- The sample period will be extended by one ADC clock to a total of 3.5 clock periods. A complete 12-bit conversion will require 16 clocks. 010 - The sample period will be extended by two clocks to 4.5 ADC clock cycles. A complete 12-bit conversion will require 17 ADC clocks. 111 - The sample period will be extended by seven clocks to 9.5 ADC clock cycles. A complete 12-bit conversion will require 22 ADC clocks.</description>
              <bitOffset>12</bitOffset>
              <bitWidth>3</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>INSEL</name>
          <description>Input Select. Allows selection of the temperature sensor as an alternate input to ADC channel 0.</description>
          <addressOffset>0x4</addressOffset>
          <size>32</size>
          <access>read-write</access>
          <resetValue>0</resetValue>
          <resetMask>0x3</resetMask>
          <fields>
            <field>
              <name>SEL</name>
              <description>Selects the input source for channel 0. All other values are reserved.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>2</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>ADC0_IN0</name>
                  <description>ADC0_IN0 function.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>TEMPERATURE_SENSOR</name>
                  <description>Internal temperature sensor.</description>
                  <value>0x3</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <dim>2</dim>
          <dimIncrement>0x4</dimIncrement>
          <dimIndex>A,B</dimIndex>
          <name>SEQ_CTRL%s</name>
          <description>ADC Conversion Sequence-n control register: Controls triggering and channel selection for conversion sequence-n. Also specifies interrupt mode for sequence-n.</description>
          <addressOffset>0x8</addressOffset>
          <size>32</size>
          <access>read-write</access>
          <resetValue>0</resetValue>
          <resetMask>0xFC0FFFFF</resetMask>
          <fields>
            <field>
              <name>CHANNELS</name>
              <description>Selects which one or more of the ADC channels will be sampled and converted when this sequence is launched. A 1 in any bit of this field will cause the corresponding channel to be included in the conversion sequence, where bit 0 corresponds to channel 0, bit 1 to channel 1 and so forth. When this conversion sequence is triggered, either by a hardware trigger or via software command, ADC conversions will be performed on each enabled channel, in sequence, beginning with the lowest-ordered channel. This field can ONLY be changed while SEQA_ENA (bit 31) is LOW. It is allowed to change this field and set bit 31 in the same write.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>12</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>TRIGGER</name>
              <description>Selects which of the available hardware trigger sources will cause this conversion sequence to be initiated. Program the trigger input number in this field. See Table 476. In order to avoid generating a spurious trigger, it is recommended writing to this field only when SEQA_ENA (bit 31) is low. It is safe to change this field and set bit 31 in the same write.</description>
              <bitOffset>12</bitOffset>
              <bitWidth>6</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>TRIGPOL</name>
              <description>Select the polarity of the selected input trigger for this conversion sequence. In order to avoid generating a spurious trigger, it is recommended writing to this field only when SEQA_ENA (bit 31) is low. It is safe to change this field and set bit 31 in the same write.</description>
              <bitOffset>18</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>NEGATIVE_EDGE</name>
                  <description>Negative edge. A negative edge launches the conversion sequence on the selected trigger input.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>POSITIVE_EDGE</name>
                  <description>Positive edge. A positive edge launches the conversion sequence on the selected trigger input.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>SYNCBYPASS</name>
              <description>Setting this bit allows the hardware trigger input to bypass synchronization flip-flop stages and therefore shorten the time between the trigger input signal and the start of a conversion. There are slightly different criteria for whether or not this bit can be set depending on the clock operating mode: Synchronous mode (the ASYNMODE in the CTRL register = 0): Synchronization may be bypassed (this bit may be set) if the selected trigger source is already synchronous with the main system clock (eg. coming from an on-chip, system-clock-based timer). Whether this bit is set or not, a trigger pulse must be maintained for at least one system clock period. Asynchronous mode (the ASYNMODE in the CTRL register = 1): Synchronization may be bypassed (this bit may be set) if it is certain that the duration of a trigger input pulse will be at least one cycle of the ADC clock (regardless of whether the trigger comes from and on-chip or off-chip source). If this bit is NOT set, the trigger pulse must at least be maintained for one system clock period.</description>
              <bitOffset>19</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>ENABLE_TRIGGER_SYNCH</name>
                  <description>Enable trigger synchronization. The hardware trigger bypass is not enabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>BYPASS_TRIGGER_SYNCH</name>
                  <description>Bypass trigger synchronization. The hardware trigger bypass is enabled.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>START</name>
              <description>Writing a 1 to this field will launch one pass through this conversion sequence. The behavior will be identical to a sequence triggered by a hardware trigger. Do not write 1 to this bit if the BURST bit is set. This bit is only set to a 1 momentarily when written to launch a conversion sequence. It will consequently always read back as a zero.</description>
              <bitOffset>26</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>BURST</name>
              <description>Writing a 1 to this bit will cause this conversion sequence to be continuously cycled through. Other sequence A triggers will be ignored while this bit is set. Repeated conversions can be halted by clearing this bit. The sequence currently in progress will be completed before conversions are terminated. Note that a new sequence could begin just before BURST is cleared.</description>
              <bitOffset>27</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>SINGLESTEP</name>
              <description>When this bit is set, a hardware trigger or a write to the START bit will launch a single conversion on the next channel in the sequence instead of the default response of launching an entire sequence of conversions. Once all of the channels comprising a sequence have been converted, a subsequent trigger will repeat the sequence beginning with the first enabled channel. Interrupt generation will still occur either after each individual conversion or at the end of the entire sequence, depending on the state of the MODE bit.</description>
              <bitOffset>28</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>LOWPRIO</name>
              <description>Set priority for sequence A.</description>
              <bitOffset>29</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>LOW_PRIORITY</name>
                  <description>Low priority. Any B trigger which occurs while an A conversion sequence is active will be ignored and lost.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>HIGH_PRIORITY</name>
                  <description>High priority. Setting this bit to a 1 will permit any enabled B sequence trigger (including a B sequence software start) to immediately interrupt sequence A and launch a B sequence in it's place. The conversion currently in progress will be terminated. The A sequence that was interrupted will automatically resume after the B sequence completes. The channel whose conversion was terminated will be re-sampled and the conversion sequence will resume from that point.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>MODE</name>
              <description>Indicates whether the primary method for retrieving conversion results for this sequence will be accomplished via reading the global data register (SEQA_GDAT) at the end of each conversion, or the individual channel result registers at the end of the entire sequence. Impacts when conversion-complete interrupt/DMA trigger for sequence-A will be generated and which overrun conditions contribute to an overrun interrupt as described below.</description>
              <bitOffset>30</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>END_OF_CONVERSION</name>
                  <description>End of conversion. The sequence A interrupt/DMA trigger will be set at the end of each individual ADC conversion performed under sequence A. This flag will mirror the DATAVALID bit in the SEQA_GDAT register. The OVERRUN bit in the SEQA_GDAT register will contribute to generation of an overrun interrupt/DMA trigger if enabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>END_OF_SEQUENCE</name>
                  <description>End of sequence. The sequence A interrupt/DMA trigger will be set when the entire set of sequence-A conversions completes. This flag will need to be explicitly cleared by software or by the DMA-clear signal in this mode. The OVERRUN bit in the SEQA_GDAT register will NOT contribute to generation of an overrun interrupt/DMA trigger since it is assumed this register may not be utilized in this mode.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>SEQ_ENA</name>
              <description>Sequence Enable. In order to avoid spuriously triggering the sequence, care should be taken to only set the SEQn_ENA bit when the selected trigger input is in its INACTIVE state (as defined by the TRIGPOL bit). If this condition is not met, the sequence will be triggered immediately upon being enabled. In order to avoid spuriously triggering the sequence, care should be taken to only set the SEQn_ENA bit when the selected trigger input is in its INACTIVE state (as defined by the TRIGPOL bit). If this condition is not met, the sequence will be triggered immediately upon being enabled.</description>
              <bitOffset>31</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>DISABLED</name>
                  <description>Disabled. Sequence n is disabled. Sequence n triggers are ignored. If this bit is cleared while sequence n is in progress, the sequence will be halted at the end of the current conversion. After the sequence is re-enabled, a new trigger will be required to restart the sequence beginning with the next enabled channel.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ENABLED</name>
                  <description>Enabled. Sequence n is enabled.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <dim>2</dim>
          <dimIncrement>0x4</dimIncrement>
          <dimIndex>A,B</dimIndex>
          <name>SEQ_GDAT%s</name>
          <description>ADC Sequence-n Global Data register. This register contains the result of the most recent ADC conversion performed under sequence-n.</description>
          <addressOffset>0x10</addressOffset>
          <size>32</size>
          <access>read-only</access>
          <resetValue>0</resetValue>
          <resetMask>0xFC0FFFF0</resetMask>
          <fields>
            <field>
              <name>RESULT</name>
              <description>This field contains the 12-bit ADC conversion result from the most recent conversion performed under conversion sequence associated with this register. The result is a binary fraction representing the voltage on the currently-selected input channel as it falls within the range of VREFP to VREFN. Zero in the field indicates that the voltage on the input pin was less than, equal to, or close to that on VREFN, while 0xFFF indicates that the voltage on the input was close to, equal to, or greater than that on VREFP. DATAVALID = 1 indicates that this result has not yet been read.</description>
              <bitOffset>4</bitOffset>
              <bitWidth>12</bitWidth>
              <access>read-only</access>
            </field>
            <field>
              <name>THCMPRANGE</name>
              <description>Indicates whether the result of the last conversion performed was above, below or within the range established by the designated threshold comparison registers (THRn_LOW and THRn_HIGH).</description>
              <bitOffset>16</bitOffset>
              <bitWidth>2</bitWidth>
              <access>read-only</access>
            </field>
            <field>
              <name>THCMPCROSS</name>
              <description>Indicates whether the result of the last conversion performed represented a crossing of the threshold level established by the designated LOW threshold comparison register (THRn_LOW) and, if so, in what direction the crossing occurred.</description>
              <bitOffset>18</bitOffset>
              <bitWidth>2</bitWidth>
              <access>read-only</access>
            </field>
            <field>
              <name>CHN</name>
              <description>These bits contain the channel from which the RESULT bits were converted (e.g. 0000 identifies channel 0, 0001 channel 1, etc.).</description>
              <bitOffset>26</bitOffset>
              <bitWidth>4</bitWidth>
              <access>read-only</access>
            </field>
            <field>
              <name>OVERRUN</name>
              <description>This bit is set if a new conversion result is loaded into the RESULT field before a previous result has been read - i.e. while the DATAVALID bit is set. This bit is cleared, along with the DATAVALID bit, whenever this register is read. This bit will contribute to an overrun interrupt/DMA trigger if the MODE bit (in SEQAA_CTRL) for the corresponding sequence is set to '0' (and if the overrun interrupt is enabled).</description>
              <bitOffset>30</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
            </field>
            <field>
              <name>DATAVALID</name>
              <description>This bit is set to '1' at the end of each conversion when a new result is loaded into the RESULT field. It is cleared whenever this register is read. This bit will cause a conversion-complete interrupt for the corresponding sequence if the MODE bit (in SEQA_CTRL) for that sequence is set to 0 (and if the interrupt is enabled).</description>
              <bitOffset>31</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
            </field>
          </fields>
        </register>
        <register>
          <dim>12</dim>
          <dimIncrement>0x4</dimIncrement>
          <name>DAT[%s]</name>
          <description>ADC Channel 0 Data register. This register contains the result of the most recent conversion completed on channel 0.</description>
          <addressOffset>0x20</addressOffset>
          <size>32</size>
          <access>read-only</access>
          <resetValue>0</resetValue>
          <resetMask>0xFC0FFFF0</resetMask>
          <fields>
            <field>
              <name>RESULT</name>
              <description>This field contains the 12-bit ADC conversion result from the last conversion performed on this channel. This will be a binary fraction representing the voltage on the AD0[n] pin, as it falls within the range of VREFP to VREFN. Zero in the field indicates that the voltage on the input pin was less than, equal to, or close to that on VREFN, while 0xFFF indicates that the voltage on the input was close to, equal to, or greater than that on VREFP.</description>
              <bitOffset>4</bitOffset>
              <bitWidth>12</bitWidth>
              <access>read-only</access>
            </field>
            <field>
              <name>THCMPRANGE</name>
              <description>Threshold Range Comparison result. 0x0 = In Range: The last completed conversion was greater than or equal to the value programmed into the designated LOW threshold register (THRn_LOW) but less than or equal to the value programmed into the designated HIGH threshold register (THRn_HIGH). 0x1 = Below Range: The last completed conversion on was less than the value programmed into the designated LOW threshold register (THRn_LOW). 0x2 = Above Range: The last completed conversion was greater than the value programmed into the designated HIGH threshold register (THRn_HIGH). 0x3 = Reserved.</description>
              <bitOffset>16</bitOffset>
              <bitWidth>2</bitWidth>
              <access>read-only</access>
            </field>
            <field>
              <name>THCMPCROSS</name>
              <description>Threshold Crossing Comparison result. 0x0 = No threshold Crossing detected: The most recent completed conversion on this channel had the same relationship (above or below) to the threshold value established by the designated LOW threshold register (THRn_LOW) as did the previous conversion on this channel. 0x1 = Reserved. 0x2 = Downward Threshold Crossing Detected. Indicates that a threshold crossing in the downward direction has occurred - i.e. the previous sample on this channel was above the threshold value established by the designated LOW threshold register (THRn_LOW) and the current sample is below that threshold. 0x3 = Upward Threshold Crossing Detected. Indicates that a threshold crossing in the upward direction has occurred - i.e. the previous sample on this channel was below the threshold value established by the designated LOW threshold register (THRn_LOW) and the current sample is above that threshold.</description>
              <bitOffset>18</bitOffset>
              <bitWidth>2</bitWidth>
              <access>read-only</access>
            </field>
            <field>
              <name>CHANNEL</name>
              <description>This field is hard-coded to contain the channel number that this particular register relates to (i.e. this field will contain 0b0000 for the DAT0 register, 0b0001 for the DAT1 register, etc)</description>
              <bitOffset>26</bitOffset>
              <bitWidth>4</bitWidth>
              <access>read-only</access>
            </field>
            <field>
              <name>OVERRUN</name>
              <description>This bit will be set to a 1 if a new conversion on this channel completes and overwrites the previous contents of the RESULT field before it has been read - i.e. while the DONE bit is set. This bit is cleared, along with the DONE bit, whenever this register is read or when the data related to this channel is read from either of the global SEQn_GDAT registers. This bit (in any of the 12 registers) will cause an overrun interrupt/DMA trigger to be asserted if the overrun interrupt is enabled. While it is allowed to include the same channels in both conversion sequences, doing so may cause erratic behavior of the DONE and OVERRUN bits in the data registers associated with any of the channels that are shared between the two sequences. Any erratic OVERRUN behavior will also affect overrun interrupt generation, if enabled.</description>
              <bitOffset>30</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
            </field>
            <field>
              <name>DATAVALID</name>
              <description>This bit is set to 1 when an ADC conversion on this channel completes. This bit is cleared whenever this register is read or when the data related to this channel is read from either of the global SEQn_GDAT registers. While it is allowed to include the same channels in both conversion sequences, doing so may cause erratic behavior of the DONE and OVERRUN bits in the data registers associated with any of the channels that are shared between the two sequences. Any erratic OVERRUN behavior will also affect overrun interrupt generation, if enabled.</description>
              <bitOffset>31</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
            </field>
          </fields>
        </register>
        <register>
          <name>THR0_LOW</name>
          <description>ADC Low Compare Threshold register 0: Contains the lower threshold level for automatic threshold comparison for any channels linked to threshold pair 0.</description>
          <addressOffset>0x50</addressOffset>
          <size>32</size>
          <access>read-write</access>
          <resetValue>0</resetValue>
          <resetMask>0xFFF0</resetMask>
          <fields>
            <field>
              <name>THRLOW</name>
              <description>Low threshold value against which ADC results will be compared</description>
              <bitOffset>4</bitOffset>
              <bitWidth>12</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>THR1_LOW</name>
          <description>ADC Low Compare Threshold register 1: Contains the lower threshold level for automatic threshold comparison for any channels linked to threshold pair 1.</description>
          <addressOffset>0x54</addressOffset>
          <size>32</size>
          <access>read-write</access>
          <resetValue>0</resetValue>
          <resetMask>0xFFF0</resetMask>
          <fields>
            <field>
              <name>THRLOW</name>
              <description>Low threshold value against which ADC results will be compared</description>
              <bitOffset>4</bitOffset>
              <bitWidth>12</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>THR0_HIGH</name>
          <description>ADC High Compare Threshold register 0: Contains the upper threshold level for automatic threshold comparison for any channels linked to threshold pair 0.</description>
          <addressOffset>0x58</addressOffset>
          <size>32</size>
          <access>read-write</access>
          <resetValue>0</resetValue>
          <resetMask>0xFFF0</resetMask>
          <fields>
            <field>
              <name>THRHIGH</name>
              <description>High threshold value against which ADC results will be compared</description>
              <bitOffset>4</bitOffset>
              <bitWidth>12</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>THR1_HIGH</name>
          <description>ADC High Compare Threshold register 1: Contains the upper threshold level for automatic threshold comparison for any channels linked to threshold pair 1.</description>
          <addressOffset>0x5C</addressOffset>
          <size>32</size>
          <access>read-write</access>
          <resetValue>0</resetValue>
          <resetMask>0xFFF0</resetMask>
          <fields>
            <field>
              <name>THRHIGH</name>
              <description>High threshold value against which ADC results will be compared</description>
              <bitOffset>4</bitOffset>
              <bitWidth>12</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>CHAN_THRSEL</name>
          <description>ADC Channel-Threshold Select register. Specifies which set of threshold compare registers are to be used for each channel</description>
          <addressOffset>0x60</addressOffset>
          <size>32</size>
          <access>read-write</access>
          <resetValue>0</resetValue>
          <resetMask>0xFFF</resetMask>
          <fields>
            <field>
              <name>CH0_THRSEL</name>
              <description>Threshold select for channel 0.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>THRESHOLD0</name>
                  <description>Threshold 0. Results for this channel will be compared against the threshold levels indicated in the THR0_LOW and THR0_HIGH registers.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>THRESHOLD1</name>
                  <description>Threshold 1. Results for this channel will be compared against the threshold levels indicated in the THR1_LOW and THR1_HIGH registers.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>CH1_THRSEL</name>
              <description>Threshold select for channel 1. See description for channel 0.</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>CH2_THRSEL</name>
              <description>Threshold select for channel 2. See description for channel 0.</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>CH3_THRSEL</name>
              <description>Threshold select for channel 3. See description for channel 0.</description>
              <bitOffset>3</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>CH4_THRSEL</name>
              <description>Threshold select for channel 4. See description for channel 0.</description>
              <bitOffset>4</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>CH5_THRSEL</name>
              <description>Threshold select for channel 5. See description for channel 0.</description>
              <bitOffset>5</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>CH6_THRSEL</name>
              <description>Threshold select for channel 6. See description for channel 0.</description>
              <bitOffset>6</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>CH7_THRSEL</name>
              <description>Threshold select for channel 7. See description for channel 0.</description>
              <bitOffset>7</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>CH8_THRSEL</name>
              <description>Threshold select for channel 8. See description for channel 0.</description>
              <bitOffset>8</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>CH9_THRSEL</name>
              <description>Threshold select for channel 9. See description for channel 0.</description>
              <bitOffset>9</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>CH10_THRSEL</name>
              <description>Threshold select for channel 10. See description for channel 0.</description>
              <bitOffset>10</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>CH11_THRSEL</name>
              <description>Threshold select for channel 11. See description for channel 0.</description>
              <bitOffset>11</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>INTEN</name>
          <description>ADC Interrupt Enable register. This register contains enable bits that enable the sequence-A, sequence-B, threshold compare and data overrun interrupts to be generated.</description>
          <addressOffset>0x64</addressOffset>
          <size>32</size>
          <access>read-write</access>
          <resetValue>0</resetValue>
          <resetMask>0x7FFFFFF</resetMask>
          <fields>
            <field>
              <name>SEQA_INTEN</name>
              <description>Sequence A interrupt enable.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>DISABLED</name>
                  <description>Disabled. The sequence A interrupt/DMA trigger is disabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ENABLED</name>
                  <description>Enabled. The sequence A interrupt/DMA trigger is enabled and will be asserted either upon completion of each individual conversion performed as part of sequence A, or upon completion of the entire A sequence of conversions, depending on the MODE bit in the SEQA_CTRL register.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>SEQB_INTEN</name>
              <description>Sequence B interrupt enable.</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>DISABLED</name>
                  <description>Disabled. The sequence B interrupt/DMA trigger is disabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ENABLED</name>
                  <description>Enabled. The sequence B interrupt/DMA trigger is enabled and will be asserted either upon completion of each individual conversion performed as part of sequence B, or upon completion of the entire B sequence of conversions, depending on the MODE bit in the SEQB_CTRL register.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>OVR_INTEN</name>
              <description>Overrun interrupt enable.</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>DISABLED</name>
                  <description>Disabled. The overrun interrupt is disabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ENABLED</name>
                  <description>Enabled. The overrun interrupt is enabled. Detection of an overrun condition on any of the 12 channel data registers will cause an overrun interrupt/DMA trigger. In addition, if the MODE bit for a particular sequence is 0, then an overrun in the global data register for that sequence will also cause this interrupt/DMA trigger to be asserted.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>ADCMPINTEN0</name>
              <description>Threshold comparison interrupt enable for channel 0.</description>
              <bitOffset>3</bitOffset>
              <bitWidth>2</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>DISABLED</name>
                  <description>Disabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>OUTSIDE_THRESHOLD</name>
                  <description>Outside threshold.</description>
                  <value>0x1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>CROSSING_THRESHOLD</name>
                  <description>Crossing threshold.</description>
                  <value>0x2</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>ADCMPINTEN1</name>
              <description>Channel 1 threshold comparison interrupt enable. See description for channel 0.</description>
              <bitOffset>5</bitOffset>
              <bitWidth>2</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>ADCMPINTEN2</name>
              <description>Channel 2 threshold comparison interrupt enable. See description for channel 0.</description>
              <bitOffset>7</bitOffset>
              <bitWidth>2</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>ADCMPINTEN3</name>
              <description>Channel 3 threshold comparison interrupt enable. See description for channel 0.</description>
              <bitOffset>9</bitOffset>
              <bitWidth>2</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>ADCMPINTEN4</name>
              <description>Channel 4 threshold comparison interrupt enable. See description for channel 0.</description>
              <bitOffset>11</bitOffset>
              <bitWidth>2</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>ADCMPINTEN5</name>
              <description>Channel 5 threshold comparison interrupt enable. See description for channel 0.</description>
              <bitOffset>13</bitOffset>
              <bitWidth>2</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>ADCMPINTEN6</name>
              <description>Channel 6 threshold comparison interrupt enable. See description for channel 0.</description>
              <bitOffset>15</bitOffset>
              <bitWidth>2</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>ADCMPINTEN7</name>
              <description>Channel 7 threshold comparison interrupt enable. See description for channel 0.</description>
              <bitOffset>17</bitOffset>
              <bitWidth>2</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>ADCMPINTEN8</name>
              <description>Channel 8 threshold comparison interrupt enable. See description for channel 0.</description>
              <bitOffset>19</bitOffset>
              <bitWidth>2</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>ADCMPINTEN9</name>
              <description>Channel 9 threshold comparison interrupt enable. See description for channel 0.</description>
              <bitOffset>21</bitOffset>
              <bitWidth>2</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>ADCMPINTEN10</name>
              <description>Channel 10 threshold comparison interrupt enable. See description for channel 0.</description>
              <bitOffset>23</bitOffset>
              <bitWidth>2</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>ADCMPINTEN11</name>
              <description>Channel 21 threshold comparison interrupt enable. See description for channel 0.</description>
              <bitOffset>25</bitOffset>
              <bitWidth>2</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>FLAGS</name>
          <description>ADC Flags register. Contains the four interrupt/DMA trigger flags and the individual component overrun and threshold-compare flags. (The overrun bits replicate information stored in the result registers).</description>
          <addressOffset>0x68</addressOffset>
          <size>32</size>
          <access>read-write</access>
          <resetValue>0</resetValue>
          <resetMask>0xF3FFFFFF</resetMask>
          <fields>
            <field>
              <name>THCMP0</name>
              <description>Threshold comparison event on Channel 0. Set to 1 upon either an out-of-range result or a threshold-crossing result if enabled to do so in the INTEN register. This bit is cleared by writing a 1.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>THCMP1</name>
              <description>Threshold comparison event on Channel 1. See description for channel 0.</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>THCMP2</name>
              <description>Threshold comparison event on Channel 2. See description for channel 0.</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>THCMP3</name>
              <description>Threshold comparison event on Channel 3. See description for channel 0.</description>
              <bitOffset>3</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>THCMP4</name>
              <description>Threshold comparison event on Channel 4. See description for channel 0.</description>
              <bitOffset>4</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>THCMP5</name>
              <description>Threshold comparison event on Channel 5. See description for channel 0.</description>
              <bitOffset>5</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>THCMP6</name>
              <description>Threshold comparison event on Channel 6. See description for channel 0.</description>
              <bitOffset>6</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>THCMP7</name>
              <description>Threshold comparison event on Channel 7. See description for channel 0.</description>
              <bitOffset>7</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>THCMP8</name>
              <description>Threshold comparison event on Channel 8. See description for channel 0.</description>
              <bitOffset>8</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>THCMP9</name>
              <description>Threshold comparison event on Channel 9. See description for channel 0.</description>
              <bitOffset>9</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>THCMP10</name>
              <description>Threshold comparison event on Channel 10. See description for channel 0.</description>
              <bitOffset>10</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>THCMP11</name>
              <description>Threshold comparison event on Channel 11. See description for channel 0.</description>
              <bitOffset>11</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>OVERRUN0</name>
              <description>Mirrors the OVERRRUN status flag from the result register for ADC channel 0</description>
              <bitOffset>12</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
            </field>
            <field>
              <name>OVERRUN1</name>
              <description>Mirrors the OVERRRUN status flag from the result register for ADC channel 1</description>
              <bitOffset>13</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
            </field>
            <field>
              <name>OVERRUN2</name>
              <description>Mirrors the OVERRRUN status flag from the result register for ADC channel 2</description>
              <bitOffset>14</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
            </field>
            <field>
              <name>OVERRUN3</name>
              <description>Mirrors the OVERRRUN status flag from the result register for ADC channel 3</description>
              <bitOffset>15</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
            </field>
            <field>
              <name>OVERRUN4</name>
              <description>Mirrors the OVERRRUN status flag from the result register for ADC channel 4</description>
              <bitOffset>16</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
            </field>
            <field>
              <name>OVERRUN5</name>
              <description>Mirrors the OVERRRUN status flag from the result register for ADC channel 5</description>
              <bitOffset>17</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
            </field>
            <field>
              <name>OVERRUN6</name>
              <description>Mirrors the OVERRRUN status flag from the result register for ADC channel 6</description>
              <bitOffset>18</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
            </field>
            <field>
              <name>OVERRUN7</name>
              <description>Mirrors the OVERRRUN status flag from the result register for ADC channel 7</description>
              <bitOffset>19</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
            </field>
            <field>
              <name>OVERRUN8</name>
              <description>Mirrors the OVERRRUN status flag from the result register for ADC channel 8</description>
              <bitOffset>20</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
            </field>
            <field>
              <name>OVERRUN9</name>
              <description>Mirrors the OVERRRUN status flag from the result register for ADC channel 9</description>
              <bitOffset>21</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
            </field>
            <field>
              <name>OVERRUN10</name>
              <description>Mirrors the OVERRRUN status flag from the result register for ADC channel 10</description>
              <bitOffset>22</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
            </field>
            <field>
              <name>OVERRUN11</name>
              <description>Mirrors the OVERRRUN status flag from the result register for ADC channel 11</description>
              <bitOffset>23</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
            </field>
            <field>
              <name>SEQA_OVR</name>
              <description>Mirrors the global OVERRUN status flag in the SEQA_GDAT register</description>
              <bitOffset>24</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
            </field>
            <field>
              <name>SEQB_OVR</name>
              <description>Mirrors the global OVERRUN status flag in the SEQB_GDAT register</description>
              <bitOffset>25</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
            </field>
            <field>
              <name>SEQA_INT</name>
              <description>Sequence A interrupt/DMA trigger. If the MODE bit in the SEQA_CTRL register is 0, this flag will mirror the DATAVALID bit in the sequence A global data register (SEQA_GDAT), which is set at the end of every ADC conversion performed as part of sequence A. It will be cleared automatically when the SEQA_GDAT register is read. If the MODE bit in the SEQA_CTRL register is 1, this flag will be set upon completion of an entire A sequence. In this case it must be cleared by writing a 1 to this SEQA_INT bit. This interrupt must be enabled in the INTEN register.</description>
              <bitOffset>28</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
            </field>
            <field>
              <name>SEQB_INT</name>
              <description>Sequence A interrupt/DMA trigger. If the MODE bit in the SEQB_CTRL register is 0, this flag will mirror the DATAVALID bit in the sequence A global data register (SEQB_GDAT), which is set at the end of every ADC conversion performed as part of sequence B. It will be cleared automatically when the SEQB_GDAT register is read. If the MODE bit in the SEQB_CTRL register is 1, this flag will be set upon completion of an entire B sequence. In this case it must be cleared by writing a 1 to this SEQB_INT bit. This interrupt must be enabled in the INTEN register.</description>
              <bitOffset>29</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
            </field>
            <field>
              <name>THCMP_INT</name>
              <description>Threshold Comparison Interrupt. This bit will be set if any of the THCMP flags in the lower bits of this register are set to 1 (due to an enabled out-of-range or threshold-crossing event on any channel). Each type of threshold comparison interrupt on each channel must be individually enabled in the INTEN register to cause this interrupt. This bit will be cleared when all of the individual threshold flags are cleared via writing 1s to those bits.</description>
              <bitOffset>30</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
            </field>
            <field>
              <name>OVR_INT</name>
              <description>Overrun Interrupt flag. Any overrun bit in any of the individual channel data registers will cause this interrupt. In addition, if the MODE bit in either of the SEQn_CTRL registers is 0 then the OVERRUN bit in the corresponding SEQn_GDAT register will also cause this interrupt. This interrupt must be enabled in the INTEN register. This bit will be cleared when all of the individual overrun bits have been cleared via reading the corresponding data registers.</description>
              <bitOffset>31</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
            </field>
          </fields>
        </register>
        <register>
          <name>STARTUP</name>
          <description>ADC Startup register.</description>
          <addressOffset>0x6C</addressOffset>
          <size>32</size>
          <access>read-write</access>
          <resetValue>0</resetValue>
          <resetMask>0x3</resetMask>
          <fields>
            <field>
              <name>ADC_ENA</name>
              <description>ADC Enable bit. This bit can only be set to a 1 by software. It is cleared automatically whenever the ADC is powered down. This bit must not be set until at least 10 microseconds after the ADC is powered up (typically by altering a system-level ADC power control bit).</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>ADC_INIT</name>
              <description>ADC Initialization. After enabling the ADC (setting the ADC_ENA bit), the API routine will EITHER set this bit or the CALIB bit in the CALIB register, depending on whether or not calibration is required. Setting this bit will launch the 'dummy' conversion cycle that is required if a calibration is not performed. It will also reload the stored calibration value from a previous calibration unless the BYPASSCAL bit is set. This bit should only be set AFTER the ADC_ENA bit is set and after the CALIREQD bit is tested to determine whether a calibration or an ADC dummy conversion cycle is required. It should not be set during the same write that sets the ADC_ENA bit. This bit can only be set to a '1' by software. It is cleared automatically when the 'dummy' conversion cycle completes.</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>CALIB</name>
          <description>ADC Calibration register.</description>
          <addressOffset>0x70</addressOffset>
          <size>32</size>
          <access>read-write</access>
          <resetValue>0x2</resetValue>
          <resetMask>0x1FF</resetMask>
          <fields>
            <field>
              <name>CALIB</name>
              <description>Calibration request. Setting this bit will launch an ADC calibration cycle. This bit can only be set to a '1' by software. It is cleared automatically when the calibration cycle completes.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>CALREQD</name>
              <description>Calibration required. This read-only bit indicates if calibration is required when enabling the ADC. CALREQD will be '1' if no calibration has been run since the chip was powered-up and if the BYPASSCAL bit in the CTRL register is low. Software will test this bit to determine whether to initiate a calibration cycle or whether to set the ADC_INIT bit (in the STARTUP register) to launch the ADC initialization process which includes a 'dummy' conversion cycle. Note: A 'dummy' conversion cycle requires approximately 6 ADC clocks as opposed to 81 clocks required for calibration.</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>CALVALUE</name>
              <description>Calibration Value. This read-only field displays the calibration value established during last calibration cycle. This value is not typically of any use to the user.</description>
              <bitOffset>2</bitOffset>
              <bitWidth>7</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
      </registers>
    </peripheral>
    <peripheral>
      <name>ITM</name>
      <description>Instrumentation Trace Macrocell Registers</description>
      <groupName>ITM</groupName>
      <prependToName>ITM_</prependToName>
      <baseAddress>0xE0000000</baseAddress>
      <addressBlock>
        <offset>0</offset>
        <size>0x1000</size>
        <usage>registers</usage>
      </addressBlock>
      <registers>
        <register>
          <name>STIM0_READ</name>
          <description>Stimulus Port Register 0 (for reading)</description>
          <alternateGroup>STIM0_READ_STIM0_WRITE</alternateGroup>
          <addressOffset>0</addressOffset>
          <size>32</size>
          <access>read-write</access>
          <resetValue>0</resetValue>
          <resetMask>0xFFFFFFFE</resetMask>
          <fields>
            <field>
              <name>FIFOREADY</name>
              <description>no description available</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>STIM0_WRITE</name>
          <description>Stimulus Port Register 0 (for writing)</description>
          <alternateGroup>STIM0_READ_STIM0_WRITE</alternateGroup>
          <addressOffset>0</addressOffset>
          <size>32</size>
          <access>read-write</access>
          <resetValue>0</resetValue>
          <resetMask>0</resetMask>
          <fields>
            <field>
              <name>STIMULUS</name>
              <description>Data write to the stimulus port FIFO, for forwarding as a software event packet.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>32</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>STIM1_READ</name>
          <description>Stimulus Port Register 1 (for reading)</description>
          <alternateGroup>STIM1_READ_STIM1_WRITE</alternateGroup>
          <addressOffset>0x4</addressOffset>
          <size>32</size>
          <access>read-write</access>
          <resetValue>0</resetValue>
          <resetMask>0xFFFFFFFE</resetMask>
          <fields>
            <field>
              <name>FIFOREADY</name>
              <description>no description available</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>STIM1_WRITE</name>
          <description>Stimulus Port Register 1 (for writing)</description>
          <alternateGroup>STIM1_READ_STIM1_WRITE</alternateGroup>
          <addressOffset>0x4</addressOffset>
          <size>32</size>
          <access>read-write</access>
          <resetValue>0</resetValue>
          <resetMask>0</resetMask>
          <fields>
            <field>
              <name>STIMULUS</name>
              <description>Data write to the stimulus port FIFO, for forwarding as a software event packet.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>32</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>STIM2_READ</name>
          <description>Stimulus Port Register 2 (for reading)</description>
          <alternateGroup>STIM2_READ_STIM2_WRITE</alternateGroup>
          <addressOffset>0x8</addressOffset>
          <size>32</size>
          <access>read-write</access>
          <resetValue>0</resetValue>
          <resetMask>0xFFFFFFFE</resetMask>
          <fields>
            <field>
              <name>FIFOREADY</name>
              <description>no description available</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>STIM2_WRITE</name>
          <description>Stimulus Port Register 2 (for writing)</description>
          <alternateGroup>STIM2_READ_STIM2_WRITE</alternateGroup>
          <addressOffset>0x8</addressOffset>
          <size>32</size>
          <access>read-write</access>
          <resetValue>0</resetValue>
          <resetMask>0</resetMask>
          <fields>
            <field>
              <name>STIMULUS</name>
              <description>Data write to the stimulus port FIFO, for forwarding as a software event packet.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>32</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>STIM3_READ</name>
          <description>Stimulus Port Register 3 (for reading)</description>
          <alternateGroup>STIM3_READ_STIM3_WRITE</alternateGroup>
          <addressOffset>0xC</addressOffset>
          <size>32</size>
          <access>read-write</access>
          <resetValue>0</resetValue>
          <resetMask>0xFFFFFFFE</resetMask>
          <fields>
            <field>
              <name>FIFOREADY</name>
              <description>no description available</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>STIM3_WRITE</name>
          <description>Stimulus Port Register 3 (for writing)</description>
          <alternateGroup>STIM3_READ_STIM3_WRITE</alternateGroup>
          <addressOffset>0xC</addressOffset>
          <size>32</size>
          <access>read-write</access>
          <resetValue>0</resetValue>
          <resetMask>0</resetMask>
          <fields>
            <field>
              <name>STIMULUS</name>
              <description>Data write to the stimulus port FIFO, for forwarding as a software event packet.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>32</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>STIM4_READ</name>
          <description>Stimulus Port Register 4 (for reading)</description>
          <alternateGroup>STIM4_READ_STIM4_WRITE</alternateGroup>
          <addressOffset>0x10</addressOffset>
          <size>32</size>
          <access>read-write</access>
          <resetValue>0</resetValue>
          <resetMask>0xFFFFFFFE</resetMask>
          <fields>
            <field>
              <name>FIFOREADY</name>
              <description>no description available</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>STIM4_WRITE</name>
          <description>Stimulus Port Register 4 (for writing)</description>
          <alternateGroup>STIM4_READ_STIM4_WRITE</alternateGroup>
          <addressOffset>0x10</addressOffset>
          <size>32</size>
          <access>read-write</access>
          <resetValue>0</resetValue>
          <resetMask>0</resetMask>
          <fields>
            <field>
              <name>STIMULUS</name>
              <description>Data write to the stimulus port FIFO, for forwarding as a software event packet.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>32</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>STIM5_READ</name>
          <description>Stimulus Port Register 5 (for reading)</description>
          <alternateGroup>STIM5_READ_STIM5_WRITE</alternateGroup>
          <addressOffset>0x14</addressOffset>
          <size>32</size>
          <access>read-write</access>
          <resetValue>0</resetValue>
          <resetMask>0xFFFFFFFE</resetMask>
          <fields>
            <field>
              <name>FIFOREADY</name>
              <description>no description available</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>STIM5_WRITE</name>
          <description>Stimulus Port Register 5 (for writing)</description>
          <alternateGroup>STIM5_READ_STIM5_WRITE</alternateGroup>
          <addressOffset>0x14</addressOffset>
          <size>32</size>
          <access>read-write</access>
          <resetValue>0</resetValue>
          <resetMask>0</resetMask>
          <fields>
            <field>
              <name>STIMULUS</name>
              <description>Data write to the stimulus port FIFO, for forwarding as a software event packet.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>32</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>STIM6_READ</name>
          <description>Stimulus Port Register 6 (for reading)</description>
          <alternateGroup>STIM6_READ_STIM6_WRITE</alternateGroup>
          <addressOffset>0x18</addressOffset>
          <size>32</size>
          <access>read-write</access>
          <resetValue>0</resetValue>
          <resetMask>0xFFFFFFFE</resetMask>
          <fields>
            <field>
              <name>FIFOREADY</name>
              <description>no description available</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>STIM6_WRITE</name>
          <description>Stimulus Port Register 6 (for writing)</description>
          <alternateGroup>STIM6_READ_STIM6_WRITE</alternateGroup>
          <addressOffset>0x18</addressOffset>
          <size>32</size>
          <access>read-write</access>
          <resetValue>0</resetValue>
          <resetMask>0</resetMask>
          <fields>
            <field>
              <name>STIMULUS</name>
              <description>Data write to the stimulus port FIFO, for forwarding as a software event packet.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>32</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>STIM7_READ</name>
          <description>Stimulus Port Register 7 (for reading)</description>
          <alternateGroup>STIM7_READ_STIM7_WRITE</alternateGroup>
          <addressOffset>0x1C</addressOffset>
          <size>32</size>
          <access>read-write</access>
          <resetValue>0</resetValue>
          <resetMask>0xFFFFFFFE</resetMask>
          <fields>
            <field>
              <name>FIFOREADY</name>
              <description>no description available</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>STIM7_WRITE</name>
          <description>Stimulus Port Register 7 (for writing)</description>
          <alternateGroup>STIM7_READ_STIM7_WRITE</alternateGroup>
          <addressOffset>0x1C</addressOffset>
          <size>32</size>
          <access>read-write</access>
          <resetValue>0</resetValue>
          <resetMask>0</resetMask>
          <fields>
            <field>
              <name>STIMULUS</name>
              <description>Data write to the stimulus port FIFO, for forwarding as a software event packet.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>32</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>STIM8_READ</name>
          <description>Stimulus Port Register 8 (for reading)</description>
          <alternateGroup>STIM8_READ_STIM8_WRITE</alternateGroup>
          <addressOffset>0x20</addressOffset>
          <size>32</size>
          <access>read-write</access>
          <resetValue>0</resetValue>
          <resetMask>0xFFFFFFFE</resetMask>
          <fields>
            <field>
              <name>FIFOREADY</name>
              <description>no description available</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>STIM8_WRITE</name>
          <description>Stimulus Port Register 8 (for writing)</description>
          <alternateGroup>STIM8_READ_STIM8_WRITE</alternateGroup>
          <addressOffset>0x20</addressOffset>
          <size>32</size>
          <access>read-write</access>
          <resetValue>0</resetValue>
          <resetMask>0</resetMask>
          <fields>
            <field>
              <name>STIMULUS</name>
              <description>Data write to the stimulus port FIFO, for forwarding as a software event packet.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>32</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>STIM9_READ</name>
          <description>Stimulus Port Register 9 (for reading)</description>
          <alternateGroup>STIM9_READ_STIM9_WRITE</alternateGroup>
          <addressOffset>0x24</addressOffset>
          <size>32</size>
          <access>read-write</access>
          <resetValue>0</resetValue>
          <resetMask>0xFFFFFFFE</resetMask>
          <fields>
            <field>
              <name>FIFOREADY</name>
              <description>no description available</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>STIM9_WRITE</name>
          <description>Stimulus Port Register 9 (for writing)</description>
          <alternateGroup>STIM9_READ_STIM9_WRITE</alternateGroup>
          <addressOffset>0x24</addressOffset>
          <size>32</size>
          <access>read-write</access>
          <resetValue>0</resetValue>
          <resetMask>0</resetMask>
          <fields>
            <field>
              <name>STIMULUS</name>
              <description>Data write to the stimulus port FIFO, for forwarding as a software event packet.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>32</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>STIM10_READ</name>
          <description>Stimulus Port Register 10 (for reading)</description>
          <alternateGroup>STIM10_READ_STIM10_WRITE</alternateGroup>
          <addressOffset>0x28</addressOffset>
          <size>32</size>
          <access>read-write</access>
          <resetValue>0</resetValue>
          <resetMask>0xFFFFFFFE</resetMask>
          <fields>
            <field>
              <name>FIFOREADY</name>
              <description>no description available</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>STIM10_WRITE</name>
          <description>Stimulus Port Register 10 (for writing)</description>
          <alternateGroup>STIM10_READ_STIM10_WRITE</alternateGroup>
          <addressOffset>0x28</addressOffset>
          <size>32</size>
          <access>read-write</access>
          <resetValue>0</resetValue>
          <resetMask>0</resetMask>
          <fields>
            <field>
              <name>STIMULUS</name>
              <description>Data write to the stimulus port FIFO, for forwarding as a software event packet.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>32</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>STIM11_READ</name>
          <description>Stimulus Port Register 11 (for reading)</description>
          <alternateGroup>STIM11_READ_STIM11_WRITE</alternateGroup>
          <addressOffset>0x2C</addressOffset>
          <size>32</size>
          <access>read-write</access>
          <resetValue>0</resetValue>
          <resetMask>0xFFFFFFFE</resetMask>
          <fields>
            <field>
              <name>FIFOREADY</name>
              <description>no description available</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>STIM11_WRITE</name>
          <description>Stimulus Port Register 11 (for writing)</description>
          <alternateGroup>STIM11_READ_STIM11_WRITE</alternateGroup>
          <addressOffset>0x2C</addressOffset>
          <size>32</size>
          <access>read-write</access>
          <resetValue>0</resetValue>
          <resetMask>0</resetMask>
          <fields>
            <field>
              <name>STIMULUS</name>
              <description>Data write to the stimulus port FIFO, for forwarding as a software event packet.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>32</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>STIM12_READ</name>
          <description>Stimulus Port Register 12 (for reading)</description>
          <alternateGroup>STIM12_READ_STIM12_WRITE</alternateGroup>
          <addressOffset>0x30</addressOffset>
          <size>32</size>
          <access>read-write</access>
          <resetValue>0</resetValue>
          <resetMask>0xFFFFFFFE</resetMask>
          <fields>
            <field>
              <name>FIFOREADY</name>
              <description>no description available</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>STIM12_WRITE</name>
          <description>Stimulus Port Register 12 (for writing)</description>
          <alternateGroup>STIM12_READ_STIM12_WRITE</alternateGroup>
          <addressOffset>0x30</addressOffset>
          <size>32</size>
          <access>read-write</access>
          <resetValue>0</resetValue>
          <resetMask>0</resetMask>
          <fields>
            <field>
              <name>STIMULUS</name>
              <description>Data write to the stimulus port FIFO, for forwarding as a software event packet.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>32</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>STIM13_READ</name>
          <description>Stimulus Port Register 13 (for reading)</description>
          <alternateGroup>STIM13_READ_STIM13_WRITE</alternateGroup>
          <addressOffset>0x34</addressOffset>
          <size>32</size>
          <access>read-write</access>
          <resetValue>0</resetValue>
          <resetMask>0xFFFFFFFE</resetMask>
          <fields>
            <field>
              <name>FIFOREADY</name>
              <description>no description available</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>STIM13_WRITE</name>
          <description>Stimulus Port Register 13 (for writing)</description>
          <alternateGroup>STIM13_READ_STIM13_WRITE</alternateGroup>
          <addressOffset>0x34</addressOffset>
          <size>32</size>
          <access>read-write</access>
          <resetValue>0</resetValue>
          <resetMask>0</resetMask>
          <fields>
            <field>
              <name>STIMULUS</name>
              <description>Data write to the stimulus port FIFO, for forwarding as a software event packet.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>32</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>STIM14_READ</name>
          <description>Stimulus Port Register 14 (for reading)</description>
          <alternateGroup>STIM14_READ_STIM14_WRITE</alternateGroup>
          <addressOffset>0x38</addressOffset>
          <size>32</size>
          <access>read-write</access>
          <resetValue>0</resetValue>
          <resetMask>0xFFFFFFFE</resetMask>
          <fields>
            <field>
              <name>FIFOREADY</name>
              <description>no description available</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>STIM14_WRITE</name>
          <description>Stimulus Port Register 14 (for writing)</description>
          <alternateGroup>STIM14_READ_STIM14_WRITE</alternateGroup>
          <addressOffset>0x38</addressOffset>
          <size>32</size>
          <access>read-write</access>
          <resetValue>0</resetValue>
          <resetMask>0</resetMask>
          <fields>
            <field>
              <name>STIMULUS</name>
              <description>Data write to the stimulus port FIFO, for forwarding as a software event packet.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>32</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>STIM15_READ</name>
          <description>Stimulus Port Register 15 (for reading)</description>
          <alternateGroup>STIM15_READ_STIM15_WRITE</alternateGroup>
          <addressOffset>0x3C</addressOffset>
          <size>32</size>
          <access>read-write</access>
          <resetValue>0</resetValue>
          <resetMask>0xFFFFFFFE</resetMask>
          <fields>
            <field>
              <name>FIFOREADY</name>
              <description>no description available</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>STIM15_WRITE</name>
          <description>Stimulus Port Register 15 (for writing)</description>
          <alternateGroup>STIM15_READ_STIM15_WRITE</alternateGroup>
          <addressOffset>0x3C</addressOffset>
          <size>32</size>
          <access>read-write</access>
          <resetValue>0</resetValue>
          <resetMask>0</resetMask>
          <fields>
            <field>
              <name>STIMULUS</name>
              <description>Data write to the stimulus port FIFO, for forwarding as a software event packet.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>32</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>STIM16_READ</name>
          <description>Stimulus Port Register 16 (for reading)</description>
          <alternateGroup>STIM16_READ_STIM16_WRITE</alternateGroup>
          <addressOffset>0x40</addressOffset>
          <size>32</size>
          <access>read-write</access>
          <resetValue>0</resetValue>
          <resetMask>0xFFFFFFFE</resetMask>
          <fields>
            <field>
              <name>FIFOREADY</name>
              <description>no description available</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>STIM16_WRITE</name>
          <description>Stimulus Port Register 16 (for writing)</description>
          <alternateGroup>STIM16_READ_STIM16_WRITE</alternateGroup>
          <addressOffset>0x40</addressOffset>
          <size>32</size>
          <access>read-write</access>
          <resetValue>0</resetValue>
          <resetMask>0</resetMask>
          <fields>
            <field>
              <name>STIMULUS</name>
              <description>Data write to the stimulus port FIFO, for forwarding as a software event packet.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>32</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>STIM17_READ</name>
          <description>Stimulus Port Register 17 (for reading)</description>
          <alternateGroup>STIM17_READ_STIM17_WRITE</alternateGroup>
          <addressOffset>0x44</addressOffset>
          <size>32</size>
          <access>read-write</access>
          <resetValue>0</resetValue>
          <resetMask>0xFFFFFFFE</resetMask>
          <fields>
            <field>
              <name>FIFOREADY</name>
              <description>no description available</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>STIM17_WRITE</name>
          <description>Stimulus Port Register 17 (for writing)</description>
          <alternateGroup>STIM17_READ_STIM17_WRITE</alternateGroup>
          <addressOffset>0x44</addressOffset>
          <size>32</size>
          <access>read-write</access>
          <resetValue>0</resetValue>
          <resetMask>0</resetMask>
          <fields>
            <field>
              <name>STIMULUS</name>
              <description>Data write to the stimulus port FIFO, for forwarding as a software event packet.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>32</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>STIM18_READ</name>
          <description>Stimulus Port Register 18 (for reading)</description>
          <alternateGroup>STIM18_READ_STIM18_WRITE</alternateGroup>
          <addressOffset>0x48</addressOffset>
          <size>32</size>
          <access>read-write</access>
          <resetValue>0</resetValue>
          <resetMask>0xFFFFFFFE</resetMask>
          <fields>
            <field>
              <name>FIFOREADY</name>
              <description>no description available</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>STIM18_WRITE</name>
          <description>Stimulus Port Register 18 (for writing)</description>
          <alternateGroup>STIM18_READ_STIM18_WRITE</alternateGroup>
          <addressOffset>0x48</addressOffset>
          <size>32</size>
          <access>read-write</access>
          <resetValue>0</resetValue>
          <resetMask>0</resetMask>
          <fields>
            <field>
              <name>STIMULUS</name>
              <description>Data write to the stimulus port FIFO, for forwarding as a software event packet.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>32</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>STIM19_READ</name>
          <description>Stimulus Port Register 19 (for reading)</description>
          <alternateGroup>STIM19_READ_STIM19_WRITE</alternateGroup>
          <addressOffset>0x4C</addressOffset>
          <size>32</size>
          <access>read-write</access>
          <resetValue>0</resetValue>
          <resetMask>0xFFFFFFFE</resetMask>
          <fields>
            <field>
              <name>FIFOREADY</name>
              <description>no description available</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>STIM19_WRITE</name>
          <description>Stimulus Port Register 19 (for writing)</description>
          <alternateGroup>STIM19_READ_STIM19_WRITE</alternateGroup>
          <addressOffset>0x4C</addressOffset>
          <size>32</size>
          <access>read-write</access>
          <resetValue>0</resetValue>
          <resetMask>0</resetMask>
          <fields>
            <field>
              <name>STIMULUS</name>
              <description>Data write to the stimulus port FIFO, for forwarding as a software event packet.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>32</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>STIM20_READ</name>
          <description>Stimulus Port Register 20 (for reading)</description>
          <alternateGroup>STIM20_READ_STIM20_WRITE</alternateGroup>
          <addressOffset>0x50</addressOffset>
          <size>32</size>
          <access>read-write</access>
          <resetValue>0</resetValue>
          <resetMask>0xFFFFFFFE</resetMask>
          <fields>
            <field>
              <name>FIFOREADY</name>
              <description>no description available</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>STIM20_WRITE</name>
          <description>Stimulus Port Register 20 (for writing)</description>
          <alternateGroup>STIM20_READ_STIM20_WRITE</alternateGroup>
          <addressOffset>0x50</addressOffset>
          <size>32</size>
          <access>read-write</access>
          <resetValue>0</resetValue>
          <resetMask>0</resetMask>
          <fields>
            <field>
              <name>STIMULUS</name>
              <description>Data write to the stimulus port FIFO, for forwarding as a software event packet.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>32</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>STIM21_READ</name>
          <description>Stimulus Port Register 21 (for reading)</description>
          <alternateGroup>STIM21_READ_STIM21_WRITE</alternateGroup>
          <addressOffset>0x54</addressOffset>
          <size>32</size>
          <access>read-write</access>
          <resetValue>0</resetValue>
          <resetMask>0xFFFFFFFE</resetMask>
          <fields>
            <field>
              <name>FIFOREADY</name>
              <description>no description available</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>STIM21_WRITE</name>
          <description>Stimulus Port Register 21 (for writing)</description>
          <alternateGroup>STIM21_READ_STIM21_WRITE</alternateGroup>
          <addressOffset>0x54</addressOffset>
          <size>32</size>
          <access>read-write</access>
          <resetValue>0</resetValue>
          <resetMask>0</resetMask>
          <fields>
            <field>
              <name>STIMULUS</name>
              <description>Data write to the stimulus port FIFO, for forwarding as a software event packet.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>32</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>STIM22_READ</name>
          <description>Stimulus Port Register 22 (for reading)</description>
          <alternateGroup>STIM22_READ_STIM22_WRITE</alternateGroup>
          <addressOffset>0x58</addressOffset>
          <size>32</size>
          <access>read-write</access>
          <resetValue>0</resetValue>
          <resetMask>0xFFFFFFFE</resetMask>
          <fields>
            <field>
              <name>FIFOREADY</name>
              <description>no description available</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>STIM22_WRITE</name>
          <description>Stimulus Port Register 22 (for writing)</description>
          <alternateGroup>STIM22_READ_STIM22_WRITE</alternateGroup>
          <addressOffset>0x58</addressOffset>
          <size>32</size>
          <access>read-write</access>
          <resetValue>0</resetValue>
          <resetMask>0</resetMask>
          <fields>
            <field>
              <name>STIMULUS</name>
              <description>Data write to the stimulus port FIFO, for forwarding as a software event packet.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>32</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>STIM23_READ</name>
          <description>Stimulus Port Register 23 (for reading)</description>
          <alternateGroup>STIM23_READ_STIM23_WRITE</alternateGroup>
          <addressOffset>0x5C</addressOffset>
          <size>32</size>
          <access>read-write</access>
          <resetValue>0</resetValue>
          <resetMask>0xFFFFFFFE</resetMask>
          <fields>
            <field>
              <name>FIFOREADY</name>
              <description>no description available</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>STIM23_WRITE</name>
          <description>Stimulus Port Register 23 (for writing)</description>
          <alternateGroup>STIM23_READ_STIM23_WRITE</alternateGroup>
          <addressOffset>0x5C</addressOffset>
          <size>32</size>
          <access>read-write</access>
          <resetValue>0</resetValue>
          <resetMask>0</resetMask>
          <fields>
            <field>
              <name>STIMULUS</name>
              <description>Data write to the stimulus port FIFO, for forwarding as a software event packet.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>32</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>STIM24_READ</name>
          <description>Stimulus Port Register 24 (for reading)</description>
          <alternateGroup>STIM24_READ_STIM24_WRITE</alternateGroup>
          <addressOffset>0x60</addressOffset>
          <size>32</size>
          <access>read-write</access>
          <resetValue>0</resetValue>
          <resetMask>0xFFFFFFFE</resetMask>
          <fields>
            <field>
              <name>FIFOREADY</name>
              <description>no description available</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>STIM24_WRITE</name>
          <description>Stimulus Port Register 24 (for writing)</description>
          <alternateGroup>STIM24_READ_STIM24_WRITE</alternateGroup>
          <addressOffset>0x60</addressOffset>
          <size>32</size>
          <access>read-write</access>
          <resetValue>0</resetValue>
          <resetMask>0</resetMask>
          <fields>
            <field>
              <name>STIMULUS</name>
              <description>Data write to the stimulus port FIFO, for forwarding as a software event packet.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>32</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>STIM25_READ</name>
          <description>Stimulus Port Register 25 (for reading)</description>
          <alternateGroup>STIM25_READ_STIM25_WRITE</alternateGroup>
          <addressOffset>0x64</addressOffset>
          <size>32</size>
          <access>read-write</access>
          <resetValue>0</resetValue>
          <resetMask>0xFFFFFFFE</resetMask>
          <fields>
            <field>
              <name>FIFOREADY</name>
              <description>no description available</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>STIM25_WRITE</name>
          <description>Stimulus Port Register 25 (for writing)</description>
          <alternateGroup>STIM25_READ_STIM25_WRITE</alternateGroup>
          <addressOffset>0x64</addressOffset>
          <size>32</size>
          <access>read-write</access>
          <resetValue>0</resetValue>
          <resetMask>0</resetMask>
          <fields>
            <field>
              <name>STIMULUS</name>
              <description>Data write to the stimulus port FIFO, for forwarding as a software event packet.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>32</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>STIM26_READ</name>
          <description>Stimulus Port Register 26 (for reading)</description>
          <alternateGroup>STIM26_READ_STIM26_WRITE</alternateGroup>
          <addressOffset>0x68</addressOffset>
          <size>32</size>
          <access>read-write</access>
          <resetValue>0</resetValue>
          <resetMask>0xFFFFFFFE</resetMask>
          <fields>
            <field>
              <name>FIFOREADY</name>
              <description>no description available</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>STIM26_WRITE</name>
          <description>Stimulus Port Register 26 (for writing)</description>
          <alternateGroup>STIM26_READ_STIM26_WRITE</alternateGroup>
          <addressOffset>0x68</addressOffset>
          <size>32</size>
          <access>read-write</access>
          <resetValue>0</resetValue>
          <resetMask>0</resetMask>
          <fields>
            <field>
              <name>STIMULUS</name>
              <description>Data write to the stimulus port FIFO, for forwarding as a software event packet.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>32</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>STIM27_READ</name>
          <description>Stimulus Port Register 27 (for reading)</description>
          <alternateGroup>STIM27_READ_STIM27_WRITE</alternateGroup>
          <addressOffset>0x6C</addressOffset>
          <size>32</size>
          <access>read-write</access>
          <resetValue>0</resetValue>
          <resetMask>0xFFFFFFFE</resetMask>
          <fields>
            <field>
              <name>FIFOREADY</name>
              <description>no description available</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>STIM27_WRITE</name>
          <description>Stimulus Port Register 27 (for writing)</description>
          <alternateGroup>STIM27_READ_STIM27_WRITE</alternateGroup>
          <addressOffset>0x6C</addressOffset>
          <size>32</size>
          <access>read-write</access>
          <resetValue>0</resetValue>
          <resetMask>0</resetMask>
          <fields>
            <field>
              <name>STIMULUS</name>
              <description>Data write to the stimulus port FIFO, for forwarding as a software event packet.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>32</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>STIM28_READ</name>
          <description>Stimulus Port Register 28 (for reading)</description>
          <alternateGroup>STIM28_READ_STIM28_WRITE</alternateGroup>
          <addressOffset>0x70</addressOffset>
          <size>32</size>
          <access>read-write</access>
          <resetValue>0</resetValue>
          <resetMask>0xFFFFFFFE</resetMask>
          <fields>
            <field>
              <name>FIFOREADY</name>
              <description>no description available</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>STIM28_WRITE</name>
          <description>Stimulus Port Register 28 (for writing)</description>
          <alternateGroup>STIM28_READ_STIM28_WRITE</alternateGroup>
          <addressOffset>0x70</addressOffset>
          <size>32</size>
          <access>read-write</access>
          <resetValue>0</resetValue>
          <resetMask>0</resetMask>
          <fields>
            <field>
              <name>STIMULUS</name>
              <description>Data write to the stimulus port FIFO, for forwarding as a software event packet.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>32</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>STIM29_READ</name>
          <description>Stimulus Port Register 29 (for reading)</description>
          <alternateGroup>STIM29_READ_STIM29_WRITE</alternateGroup>
          <addressOffset>0x74</addressOffset>
          <size>32</size>
          <access>read-write</access>
          <resetValue>0</resetValue>
          <resetMask>0xFFFFFFFE</resetMask>
          <fields>
            <field>
              <name>FIFOREADY</name>
              <description>no description available</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>STIM29_WRITE</name>
          <description>Stimulus Port Register 29 (for writing)</description>
          <alternateGroup>STIM29_READ_STIM29_WRITE</alternateGroup>
          <addressOffset>0x74</addressOffset>
          <size>32</size>
          <access>read-write</access>
          <resetValue>0</resetValue>
          <resetMask>0</resetMask>
          <fields>
            <field>
              <name>STIMULUS</name>
              <description>Data write to the stimulus port FIFO, for forwarding as a software event packet.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>32</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>STIM30_READ</name>
          <description>Stimulus Port Register 30 (for reading)</description>
          <alternateGroup>STIM30_READ_STIM30_WRITE</alternateGroup>
          <addressOffset>0x78</addressOffset>
          <size>32</size>
          <access>read-write</access>
          <resetValue>0</resetValue>
          <resetMask>0xFFFFFFFE</resetMask>
          <fields>
            <field>
              <name>FIFOREADY</name>
              <description>no description available</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>STIM30_WRITE</name>
          <description>Stimulus Port Register 30 (for writing)</description>
          <alternateGroup>STIM30_READ_STIM30_WRITE</alternateGroup>
          <addressOffset>0x78</addressOffset>
          <size>32</size>
          <access>read-write</access>
          <resetValue>0</resetValue>
          <resetMask>0</resetMask>
          <fields>
            <field>
              <name>STIMULUS</name>
              <description>Data write to the stimulus port FIFO, for forwarding as a software event packet.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>32</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>STIM31_READ</name>
          <description>Stimulus Port Register 31 (for reading)</description>
          <alternateGroup>STIM31_READ_STIM31_WRITE</alternateGroup>
          <addressOffset>0x7C</addressOffset>
          <size>32</size>
          <access>read-write</access>
          <resetValue>0</resetValue>
          <resetMask>0xFFFFFFFE</resetMask>
          <fields>
            <field>
              <name>FIFOREADY</name>
              <description>no description available</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>STIM31_WRITE</name>
          <description>Stimulus Port Register 31 (for writing)</description>
          <alternateGroup>STIM31_READ_STIM31_WRITE</alternateGroup>
          <addressOffset>0x7C</addressOffset>
          <size>32</size>
          <access>read-write</access>
          <resetValue>0</resetValue>
          <resetMask>0</resetMask>
          <fields>
            <field>
              <name>STIMULUS</name>
              <description>Data write to the stimulus port FIFO, for forwarding as a software event packet.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>32</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>TER</name>
          <description>Trace Enable Register</description>
          <addressOffset>0xE00</addressOffset>
          <size>32</size>
          <access>read-write</access>
          <resetValue>0</resetValue>
          <resetMask>0xFFFFFFFF</resetMask>
          <fields>
            <field>
              <name>STIMENA</name>
              <description>For bit STIMENA[n], in register ITM_TERx: 0 = Stimulus port (32x + n) disabled 1 = Stimulus port (32x + n) enabled</description>
              <bitOffset>0</bitOffset>
              <bitWidth>32</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>TPR</name>
          <description>Trace Privilege Register</description>
          <addressOffset>0xE40</addressOffset>
          <size>32</size>
          <access>read-write</access>
          <resetValue>0</resetValue>
          <resetMask>0xFFFFFFFF</resetMask>
          <fields>
            <field>
              <name>PRIVMASK</name>
              <description>Bit mask to enable tracing on ITM stimulus ports: Bit [0] = stimulus port [7:0] Bit [1] = stimulus port [15:8] Bit [2] = stimulus port [23:16] Bit [3] = stimulus port [31:24]</description>
              <bitOffset>0</bitOffset>
              <bitWidth>4</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>TCR</name>
          <description>Trace Control Register</description>
          <addressOffset>0xE80</addressOffset>
          <size>32</size>
          <access>read-write</access>
          <resetValue>0</resetValue>
          <resetMask>0xFFFFFFFF</resetMask>
          <fields>
            <field>
              <name>ITMENA</name>
              <description>no description available</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>ITMENA_0</name>
                  <description>Disabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ITMENA_1</name>
                  <description>Enabled.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>TSENA</name>
              <description>no description available</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>TSENA_0</name>
                  <description>Disabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>TSENA_1</name>
                  <description>Enabled.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>SYNCENA</name>
              <description>no description available</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>SYNCENA_0</name>
                  <description>Disabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>SYNCENA_1</name>
                  <description>Enabled.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>TXENA</name>
              <description>no description available</description>
              <bitOffset>3</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>TXENA_0</name>
                  <description>Disabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>TXENA_1</name>
                  <description>Enabled.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>SWOENA</name>
              <description>no description available</description>
              <bitOffset>4</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>SWOENA_0</name>
                  <description>Timestamp counter uses the processor system clock.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>SWOENA_1</name>
                  <description>Timestamp counter uses asynchronous clock from the TPIU interface.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>TSPrescale</name>
              <description>Local timestamp prescaler, used with the trace packet reference clock.</description>
              <bitOffset>8</bitOffset>
              <bitWidth>2</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>TSPrescale_0</name>
                  <description>No prescaling.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>TSPrescale_1</name>
                  <description>Divide by 4.</description>
                  <value>0x1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>TSPrescale_2</name>
                  <description>Divide by 16.</description>
                  <value>0x2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>TSPrescale_3</name>
                  <description>Divide by 64.</description>
                  <value>0x3</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>GTSFREQ</name>
              <description>Global timestamp frequency. Defines how often the ITM generates a global timestamp, based on the global timestamp clock frequency, or disables generation of global timestamps.</description>
              <bitOffset>10</bitOffset>
              <bitWidth>2</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>GTSFREQ_0</name>
                  <description>Disable generation of global timestamps.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>GTSFREQ_1</name>
                  <description>Generate timestamp request whenever the ITM detects a change in global timestamp counter bits [47:7]. This is approximately every 128 cycles.</description>
                  <value>0x1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>GTSFREQ_2</name>
                  <description>Generate timestamp request whenever the ITM detects a change in global timestamp counter bits [47:13]. This is approximately every 8192 cycles.</description>
                  <value>0x2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>GTSFREQ_3</name>
                  <description>Generate a timestamp after every packet, if the output FIFO is empty.</description>
                  <value>0x3</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>TraceBusID</name>
              <description>Identifier for multi-source trace stream formatting. If multi-source trace is in use, the debugger must write a non-zero value to this field.</description>
              <bitOffset>16</bitOffset>
              <bitWidth>7</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>BUSY</name>
              <description>Indicates whether the ITM is currently processing events: 0: ITM is not processing any events. 1: ITM events present and being drained.</description>
              <bitOffset>23</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>BUSY_0</name>
                  <description>ITM is not processing any events.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>BUSY_1</name>
                  <description>ITM events present and beeing drained.</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>LAR</name>
          <description>Lock Access Register</description>
          <addressOffset>0xFB0</addressOffset>
          <size>32</size>
          <access>read-write</access>
          <resetValue>0</resetValue>
          <resetMask>0</resetMask>
          <fields>
            <field>
              <name>WriteAccessCode</name>
              <description>Write Access Code. A write of 0xC5ACCE55 enables further write access to this device. An invalid write will have the affect of removing write access.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>32</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>LSR</name>
          <description>Lock Status Register</description>
          <addressOffset>0xFB4</addressOffset>
          <size>32</size>
          <access>read-only</access>
          <resetValue>0x1</resetValue>
          <resetMask>0xFFFFFFFD</resetMask>
          <fields>
            <field>
              <name>IMP</name>
              <description>Lock mechanism is implemented. This bit always reads 1.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
            </field>
            <field>
              <name>STATUS</name>
              <description>Lock Status. This bit is HIGH when the device is locked, and LOW when unlocked.</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
            </field>
            <field>
              <name>s8BIT</name>
              <description>Access Lock Register size. This bit reads 0 to indicate a 32-bit register is present.</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
            </field>
          </fields>
        </register>
        <register>
          <name>PID4</name>
          <description>Peripheral Identification Register 4.</description>
          <addressOffset>0xFD0</addressOffset>
          <size>32</size>
          <access>read-only</access>
          <resetValue>0x4</resetValue>
          <resetMask>0xFFFFFFFF</resetMask>
          <fields>
            <field>
              <name>JEP106</name>
              <description>JEP106 continuation code.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>4</bitWidth>
              <access>read-only</access>
            </field>
            <field>
              <name>c4KB</name>
              <description>4KB Count</description>
              <bitOffset>4</bitOffset>
              <bitWidth>4</bitWidth>
              <access>read-only</access>
            </field>
          </fields>
        </register>
        <register>
          <name>PID5</name>
          <description>Peripheral Identification Register 5.</description>
          <addressOffset>0xFD4</addressOffset>
          <size>32</size>
          <access>read-only</access>
          <resetValue>0</resetValue>
          <resetMask>0xFFFFFFFF</resetMask>
        </register>
        <register>
          <name>PID6</name>
          <description>Peripheral Identification Register 6.</description>
          <addressOffset>0xFD8</addressOffset>
          <size>32</size>
          <access>read-only</access>
          <resetValue>0</resetValue>
          <resetMask>0xFFFFFFFF</resetMask>
        </register>
        <register>
          <name>PID7</name>
          <description>Peripheral Identification Register 7.</description>
          <addressOffset>0xFDC</addressOffset>
          <size>32</size>
          <access>read-only</access>
          <resetValue>0</resetValue>
          <resetMask>0xFFFFFFFF</resetMask>
        </register>
        <register>
          <name>PID0</name>
          <description>Peripheral Identification Register 0.</description>
          <addressOffset>0xFE0</addressOffset>
          <size>32</size>
          <access>read-only</access>
          <resetValue>0x2</resetValue>
          <resetMask>0xFFFFFFFF</resetMask>
          <fields>
            <field>
              <name>PartNumber</name>
              <description>Part Number [7:0]</description>
              <bitOffset>0</bitOffset>
              <bitWidth>8</bitWidth>
              <access>read-only</access>
            </field>
          </fields>
        </register>
        <register>
          <name>PID1</name>
          <description>Peripheral Identification Register 1.</description>
          <addressOffset>0xFE4</addressOffset>
          <size>32</size>
          <access>read-only</access>
          <resetValue>0xB0</resetValue>
          <resetMask>0xFFFFFFFF</resetMask>
          <fields>
            <field>
              <name>PartNumber</name>
              <description>Part Number [11:8]</description>
              <bitOffset>0</bitOffset>
              <bitWidth>4</bitWidth>
              <access>read-only</access>
            </field>
            <field>
              <name>JEP106_identity_code</name>
              <description>JEP106 identity code [3:0]</description>
              <bitOffset>4</bitOffset>
              <bitWidth>4</bitWidth>
              <access>read-only</access>
            </field>
          </fields>
        </register>
        <register>
          <name>PID2</name>
          <description>Peripheral Identification Register 2.</description>
          <addressOffset>0xFE8</addressOffset>
          <size>32</size>
          <access>read-only</access>
          <resetValue>0x3B</resetValue>
          <resetMask>0xFFFFFFFF</resetMask>
          <fields>
            <field>
              <name>JEP106_identity_code</name>
              <description>JEP106 identity code [6:4]</description>
              <bitOffset>0</bitOffset>
              <bitWidth>3</bitWidth>
              <access>read-only</access>
            </field>
            <field>
              <name>Revision</name>
              <description>Revision</description>
              <bitOffset>4</bitOffset>
              <bitWidth>4</bitWidth>
              <access>read-only</access>
            </field>
          </fields>
        </register>
        <register>
          <name>PID3</name>
          <description>Peripheral Identification Register 3.</description>
          <addressOffset>0xFEC</addressOffset>
          <size>32</size>
          <access>read-only</access>
          <resetValue>0</resetValue>
          <resetMask>0xFFFFFFFF</resetMask>
          <fields>
            <field>
              <name>CustomerModified</name>
              <description>Customer Modified.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>4</bitWidth>
              <access>read-only</access>
            </field>
            <field>
              <name>RevAnd</name>
              <description>RevAnd</description>
              <bitOffset>4</bitOffset>
              <bitWidth>4</bitWidth>
              <access>read-only</access>
            </field>
          </fields>
        </register>
        <register>
          <name>CID0</name>
          <description>Component Identification Register 0.</description>
          <addressOffset>0xFF0</addressOffset>
          <size>32</size>
          <access>read-only</access>
          <resetValue>0xD</resetValue>
          <resetMask>0xFFFFFFFF</resetMask>
          <fields>
            <field>
              <name>Preamble</name>
              <description>Preamble</description>
              <bitOffset>0</bitOffset>
              <bitWidth>8</bitWidth>
              <access>read-only</access>
            </field>
          </fields>
        </register>
        <register>
          <name>CID1</name>
          <description>Component Identification Register 1.</description>
          <addressOffset>0xFF4</addressOffset>
          <size>32</size>
          <access>read-only</access>
          <resetValue>0xE0</resetValue>
          <resetMask>0xFFFFFFFF</resetMask>
          <fields>
            <field>
              <name>Preamble</name>
              <description>Preamble</description>
              <bitOffset>0</bitOffset>
              <bitWidth>4</bitWidth>
              <access>read-only</access>
            </field>
            <field>
              <name>ComponentClass</name>
              <description>Component class</description>
              <bitOffset>4</bitOffset>
              <bitWidth>4</bitWidth>
              <access>read-only</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>ComponentClass_1</name>
                  <description>ROM table.</description>
                  <value>0x1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ComponentClass_9</name>
                  <description>CoreSight component.</description>
                  <value>0x9</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ComponentClass_15</name>
                  <description>PrimeCell of system component with no standardized register layout, for backward compatibility.</description>
                  <value>0xF</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>CID2</name>
          <description>Component Identification Register 2.</description>
          <addressOffset>0xFF8</addressOffset>
          <size>32</size>
          <access>read-only</access>
          <resetValue>0x5</resetValue>
          <resetMask>0xFFFFFFFF</resetMask>
          <fields>
            <field>
              <name>Preamble</name>
              <description>Preamble</description>
              <bitOffset>0</bitOffset>
              <bitWidth>8</bitWidth>
              <access>read-only</access>
            </field>
          </fields>
        </register>
        <register>
          <name>CID3</name>
          <description>Component Identification Register 3.</description>
          <addressOffset>0xFFC</addressOffset>
          <size>32</size>
          <access>read-only</access>
          <resetValue>0xB1</resetValue>
          <resetMask>0xFFFFFFFF</resetMask>
          <fields>
            <field>
              <name>Preamble</name>
              <description>Preamble</description>
              <bitOffset>0</bitOffset>
              <bitWidth>8</bitWidth>
              <access>read-only</access>
            </field>
          </fields>
        </register>
      </registers>
    </peripheral>
    <peripheral>
      <name>SystemControl</name>
      <description>System Control Block</description>
      <groupName>SCB</groupName>
      <prependToName>SCB_</prependToName>
      <baseAddress>0xE000E000</baseAddress>
      <addressBlock>
        <offset>0</offset>
        <size>0xD40</size>
        <usage>registers</usage>
      </addressBlock>
      <registers>
        <register>
          <name>ACTLR</name>
          <description>Auxiliary Control Register,</description>
          <addressOffset>0x8</addressOffset>
          <size>32</size>
          <access>read-write</access>
          <resetValue>0</resetValue>
          <resetMask>0xFFFFFFFF</resetMask>
          <fields>
            <field>
              <name>DISMCYCINT</name>
              <description>Disables interruption of multi-cycle instructions.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>DISDEFWBUF</name>
              <description>Disables write buffer use during default memory map accesses.</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>DISFOLD</name>
              <description>Disables folding of IT instructions.</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>CPUID</name>
          <description>CPUID Base Register</description>
          <addressOffset>0xD00</addressOffset>
          <size>32</size>
          <access>read-only</access>
          <resetValue>0x410FC240</resetValue>
          <resetMask>0xFFFFFFFF</resetMask>
          <fields>
            <field>
              <name>REVISION</name>
              <description>Indicates patch release: 0x0 = Patch 0</description>
              <bitOffset>0</bitOffset>
              <bitWidth>4</bitWidth>
              <access>read-only</access>
            </field>
            <field>
              <name>PARTNO</name>
              <description>Indicates part number</description>
              <bitOffset>4</bitOffset>
              <bitWidth>12</bitWidth>
              <access>read-only</access>
            </field>
            <field>
              <name>VARIANT</name>
              <description>Indicates processor revision: 0x2 = Revision 2</description>
              <bitOffset>20</bitOffset>
              <bitWidth>4</bitWidth>
              <access>read-only</access>
            </field>
            <field>
              <name>IMPLEMENTER</name>
              <description>Implementer code</description>
              <bitOffset>24</bitOffset>
              <bitWidth>8</bitWidth>
              <access>read-only</access>
            </field>
          </fields>
        </register>
        <register>
          <name>ICSR</name>
          <description>Interrupt Control and State Register</description>
          <addressOffset>0xD04</addressOffset>
          <size>32</size>
          <access>read-write</access>
          <resetValue>0</resetValue>
          <resetMask>0xFFFFFFFF</resetMask>
          <fields>
            <field>
              <name>VECTACTIVE</name>
              <description>Active exception number</description>
              <bitOffset>0</bitOffset>
              <bitWidth>9</bitWidth>
              <access>read-only</access>
            </field>
            <field>
              <name>RETTOBASE</name>
              <description>no description available</description>
              <bitOffset>11</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>RETTOBASE_0</name>
                  <description>there are preempted active exceptions to execute</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>RETTOBASE_1</name>
                  <description>there are no active exceptions, or the currently-executing exception is the only active exception</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>VECTPENDING</name>
              <description>Exception number of the highest priority pending enabled exception</description>
              <bitOffset>12</bitOffset>
              <bitWidth>6</bitWidth>
              <access>read-only</access>
            </field>
            <field>
              <name>ISRPENDING</name>
              <description>no description available</description>
              <bitOffset>22</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
            </field>
            <field>
              <name>ISRPREEMPT</name>
              <description>no description available</description>
              <bitOffset>23</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>ISRPREEMPT_0</name>
                  <description>Will not service</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ISRPREEMPT_1</name>
                  <description>Will service a pending exception</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>PENDSTCLR</name>
              <description>no description available</description>
              <bitOffset>25</bitOffset>
              <bitWidth>1</bitWidth>
              <access>write-only</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>PENDSTCLR_0</name>
                  <description>no effect</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>PENDSTCLR_1</name>
                  <description>removes the pending state from the SysTick exception</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>PENDSTSET</name>
              <description>no description available</description>
              <bitOffset>26</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>PENDSTSET_0</name>
                  <description>write: no effect; read: SysTick exception is not pending</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>PENDSTSET_1</name>
                  <description>write: changes SysTick exception state to pending; read: SysTick exception is pending</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>PENDSVCLR</name>
              <description>no description available</description>
              <bitOffset>27</bitOffset>
              <bitWidth>1</bitWidth>
              <access>write-only</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>PENDSVCLR_0</name>
                  <description>no effect</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>PENDSVCLR_1</name>
                  <description>removes the pending state from the PendSV exception</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>PENDSVSET</name>
              <description>no description available</description>
              <bitOffset>28</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>PENDSVSET_0</name>
                  <description>write: no effect; read: PendSV exception is not pending</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>PENDSVSET_1</name>
                  <description>write: changes PendSV exception state to pending; read: PendSV exception is pending</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>NMIPENDSET</name>
              <description>no description available</description>
              <bitOffset>31</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>NMIPENDSET_0</name>
                  <description>write: no effect; read: NMI exception is not pending</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>NMIPENDSET_1</name>
                  <description>write: changes NMI exception state to pending; read: NMI exception is pending</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>VTOR</name>
          <description>Vector Table Offset Register</description>
          <addressOffset>0xD08</addressOffset>
          <size>32</size>
          <access>read-write</access>
          <resetValue>0</resetValue>
          <resetMask>0xFFFFFFFF</resetMask>
          <fields>
            <field>
              <name>TBLOFF</name>
              <description>Vector table base offset</description>
              <bitOffset>7</bitOffset>
              <bitWidth>25</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>AIRCR</name>
          <description>Application Interrupt and Reset Control Register</description>
          <addressOffset>0xD0C</addressOffset>
          <size>32</size>
          <access>read-write</access>
          <resetValue>0xFA050000</resetValue>
          <resetMask>0xFFFFFFFF</resetMask>
          <fields>
            <field>
              <name>VECTRESET</name>
              <description>no description available</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <access>write-only</access>
            </field>
            <field>
              <name>VECTCLRACTIVE</name>
              <description>no description available</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
              <access>write-only</access>
            </field>
            <field>
              <name>SYSRESETREQ</name>
              <description>no description available</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
              <access>write-only</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>SYSRESETREQ_0</name>
                  <description>no system reset request</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>SYSRESETREQ_1</name>
                  <description>asserts a signal to the outer system that requests a reset</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>PRIGROUP</name>
              <description>Interrupt priority grouping field. This field determines the split of group priority from subpriority.</description>
              <bitOffset>8</bitOffset>
              <bitWidth>3</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>ENDIANNESS</name>
              <description>no description available</description>
              <bitOffset>15</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>ENDIANNESS_0</name>
                  <description>Little-endian</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ENDIANNESS_1</name>
                  <description>Big-endian</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>VECTKEY</name>
              <description>Register key</description>
              <bitOffset>16</bitOffset>
              <bitWidth>16</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>SCR</name>
          <description>System Control Register</description>
          <addressOffset>0xD10</addressOffset>
          <size>32</size>
          <access>read-write</access>
          <resetValue>0</resetValue>
          <resetMask>0xFFFFFFFF</resetMask>
          <fields>
            <field>
              <name>SLEEPONEXIT</name>
              <description>no description available</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>SLEEPONEXIT_0</name>
                  <description>o not sleep when returning to Thread mode</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>SLEEPONEXIT_1</name>
                  <description>enter sleep, or deep sleep, on return from an ISR</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>SLEEPDEEP</name>
              <description>no description available</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>SLEEPDEEP_0</name>
                  <description>sleep</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>SLEEPDEEP_1</name>
                  <description>deep sleep</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>SEVONPEND</name>
              <description>no description available</description>
              <bitOffset>4</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>SEVONPEND_0</name>
                  <description>only enabled interrupts or events can wakeup the processor, disabled interrupts are excluded</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>SEVONPEND_1</name>
                  <description>enabled events and all interrupts, including disabled interrupts, can wakeup the processor</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>CCR</name>
          <description>Configuration and Control Register</description>
          <addressOffset>0xD14</addressOffset>
          <size>32</size>
          <access>read-write</access>
          <resetValue>0</resetValue>
          <resetMask>0xFFFFFFFF</resetMask>
          <fields>
            <field>
              <name>NONBASETHRDENA</name>
              <description>no description available</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>NONBASETHRDENA_0</name>
                  <description>processor can enter Thread mode only when no exception is active</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>NONBASETHRDENA_1</name>
                  <description>processor can enter Thread mode from any level under the control of an EXC_RETURN value</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>USERSETMPEND</name>
              <description>Enables unprivileged software access to the STIR</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>USERSETMPEND_0</name>
                  <description>disable</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>USERSETMPEND_1</name>
                  <description>enable</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>UNALIGN_TRP</name>
              <description>Enables unaligned access traps</description>
              <bitOffset>3</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>UNALIGN_TRP_0</name>
                  <description>do not trap unaligned halfword and word accesses</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>UNALIGN_TRP_1</name>
                  <description>trap unaligned halfword and word accesses</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>DIV_0_TRP</name>
              <description>Enables faulting or halting when the processor executes an SDIV or UDIV instruction with a divisor of 0</description>
              <bitOffset>4</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>DIV_0_TRP_0</name>
                  <description>do not trap divide by 0</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>DIV_0_TRP_1</name>
                  <description>trap divide by 0</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>BFHFNMIGN</name>
              <description>Enables handlers with priority -1 or -2 to ignore data BusFaults caused by load and store instructions.</description>
              <bitOffset>8</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>BFHFNMIGN_0</name>
                  <description>data bus faults caused by load and store instructions cause a lock-up</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>BFHFNMIGN_1</name>
                  <description>handlers running at priority -1 and -2 ignore data bus faults caused by load and store instructions</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>STKALIGN</name>
              <description>Indicates stack alignment on exception entry</description>
              <bitOffset>9</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>STKALIGN_0</name>
                  <description>4-byte aligned</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>STKALIGN_1</name>
                  <description>8-byte aligned</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>SHPR1</name>
          <description>System Handler Priority Register 1</description>
          <addressOffset>0xD18</addressOffset>
          <size>32</size>
          <access>read-write</access>
          <resetValue>0</resetValue>
          <resetMask>0xFFFFFFFF</resetMask>
          <fields>
            <field>
              <name>PRI_4</name>
              <description>Priority of system handler 4, MemManage</description>
              <bitOffset>0</bitOffset>
              <bitWidth>8</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>PRI_5</name>
              <description>Priority of system handler 5, BusFault</description>
              <bitOffset>8</bitOffset>
              <bitWidth>8</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>PRI_6</name>
              <description>Priority of system handler 6, UsageFault</description>
              <bitOffset>16</bitOffset>
              <bitWidth>8</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>SHPR2</name>
          <description>System Handler Priority Register 2</description>
          <addressOffset>0xD1C</addressOffset>
          <size>32</size>
          <access>read-write</access>
          <resetValue>0</resetValue>
          <resetMask>0xFFFFFFFF</resetMask>
          <fields>
            <field>
              <name>PRI_11</name>
              <description>Priority of system handler 11, SVCall</description>
              <bitOffset>24</bitOffset>
              <bitWidth>8</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>SHPR3</name>
          <description>System Handler Priority Register 3</description>
          <addressOffset>0xD20</addressOffset>
          <size>32</size>
          <access>read-write</access>
          <resetValue>0</resetValue>
          <resetMask>0xFFFFFFFF</resetMask>
          <fields>
            <field>
              <name>PRI_14</name>
              <description>Priority of system handler 14, PendSV</description>
              <bitOffset>16</bitOffset>
              <bitWidth>8</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>PRI_15</name>
              <description>Priority of system handler 15, SysTick exception</description>
              <bitOffset>24</bitOffset>
              <bitWidth>8</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>SHCSR</name>
          <description>System Handler Control and State Register</description>
          <addressOffset>0xD24</addressOffset>
          <size>32</size>
          <access>read-write</access>
          <resetValue>0</resetValue>
          <resetMask>0xFFFFFFFF</resetMask>
          <fields>
            <field>
              <name>MEMFAULTACT</name>
              <description>no description available</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>MEMFAULTACT_0</name>
                  <description>exception is not active</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>MEMFAULTACT_1</name>
                  <description>exception is active</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>BUSFAULTACT</name>
              <description>no description available</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>BUSFAULTACT_0</name>
                  <description>exception is not active</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>BUSFAULTACT_1</name>
                  <description>exception is active</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>USGFAULTACT</name>
              <description>no description available</description>
              <bitOffset>3</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>USGFAULTACT_0</name>
                  <description>exception is not active</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>USGFAULTACT_1</name>
                  <description>exception is active</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>SVCALLACT</name>
              <description>no description available</description>
              <bitOffset>7</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>SVCALLACT_0</name>
                  <description>exception is not active</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>SVCALLACT_1</name>
                  <description>exception is active</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>MONITORACT</name>
              <description>no description available</description>
              <bitOffset>8</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>MONITORACT_0</name>
                  <description>exception is not active</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>MONITORACT_1</name>
                  <description>exception is active</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>PENDSVACT</name>
              <description>no description available</description>
              <bitOffset>10</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>PENDSVACT_0</name>
                  <description>exception is not active</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>PENDSVACT_1</name>
                  <description>exception is active</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>SYSTICKACT</name>
              <description>no description available</description>
              <bitOffset>11</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>SYSTICKACT_0</name>
                  <description>exception is not active</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>SYSTICKACT_1</name>
                  <description>exception is active</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>USGFAULTPENDED</name>
              <description>no description available</description>
              <bitOffset>12</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>USGFAULTPENDED_0</name>
                  <description>exception is not pending</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>USGFAULTPENDED_1</name>
                  <description>exception is pending</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>MEMFAULTPENDED</name>
              <description>no description available</description>
              <bitOffset>13</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>MEMFAULTPENDED_0</name>
                  <description>exception is not pending</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>MEMFAULTPENDED_1</name>
                  <description>exception is pending</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>BUSFAULTPENDED</name>
              <description>no description available</description>
              <bitOffset>14</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>BUSFAULTPENDED_0</name>
                  <description>exception is not pending</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>BUSFAULTPENDED_1</name>
                  <description>exception is pending</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>SVCALLPENDED</name>
              <description>no description available</description>
              <bitOffset>15</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>SVCALLPENDED_0</name>
                  <description>exception is not pending</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>SVCALLPENDED_1</name>
                  <description>exception is pending</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>MEMFAULTENA</name>
              <description>no description available</description>
              <bitOffset>16</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>MEMFAULTENA_0</name>
                  <description>disable the exception</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>MEMFAULTENA_1</name>
                  <description>enable the exception</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>BUSFAULTENA</name>
              <description>no description available</description>
              <bitOffset>17</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>BUSFAULTENA_0</name>
                  <description>disable the exception</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>BUSFAULTENA_1</name>
                  <description>enable the exception</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>USGFAULTENA</name>
              <description>no description available</description>
              <bitOffset>18</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>USGFAULTENA_0</name>
                  <description>disable the exception</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>USGFAULTENA_1</name>
                  <description>enable the exception</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>CFSR</name>
          <description>Configurable Fault Status Registers</description>
          <addressOffset>0xD28</addressOffset>
          <size>32</size>
          <access>read-write</access>
          <resetValue>0</resetValue>
          <resetMask>0xFFFFFFFF</resetMask>
          <fields>
            <field>
              <name>IACCVIOL</name>
              <description>no description available</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>IACCVIOL_0</name>
                  <description>no instruction access violation fault</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>IACCVIOL_1</name>
                  <description>the processor attempted an instruction fetch from a location that does not permit execution</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>DACCVIOL</name>
              <description>no description available</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>DACCVIOL_0</name>
                  <description>no data access violation fault</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>DACCVIOL_1</name>
                  <description>the processor attempted a load or store at a location that does not permit the operation</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>MUNSTKERR</name>
              <description>no description available</description>
              <bitOffset>3</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>MUNSTKERR_0</name>
                  <description>no unstacking fault</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>MUNSTKERR_1</name>
                  <description>unstack for an exception return has caused one or more access violations</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>MSTKERR</name>
              <description>no description available</description>
              <bitOffset>4</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>MSTKERR_0</name>
                  <description>no stacking fault</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>MSTKERR_1</name>
                  <description>stacking for an exception entry has caused one or more access violations</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>MLSPERR</name>
              <description>no description available</description>
              <bitOffset>5</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>MLSPERR_0</name>
                  <description>No MemManage fault occurred during floating-point lazy state preservation</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>MLSPERR_1</name>
                  <description>A MemManage fault occurred during floating-point lazy state preservation</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>MMARVALID</name>
              <description>no description available</description>
              <bitOffset>7</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>MMARVALID_0</name>
                  <description>value in MMAR is not a valid fault address</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>MMARVALID_1</name>
                  <description>MMAR holds a valid fault address</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>IBUSERR</name>
              <description>no description available</description>
              <bitOffset>8</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>IBUSERR_0</name>
                  <description>no instruction bus error</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>IBUSERR_1</name>
                  <description>instruction bus error</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>PRECISERR</name>
              <description>no description available</description>
              <bitOffset>9</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>PRECISERR_0</name>
                  <description>no precise data bus error</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>PRECISERR_1</name>
                  <description>a data bus error has occurred, and the PC value stacked for the exception return points to the instruction that caused the fault</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>IMPRECISERR</name>
              <description>no description available</description>
              <bitOffset>10</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>IMPRECISERR_0</name>
                  <description>no imprecise data bus error</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>IMPRECISERR_1</name>
                  <description>a data bus error has occurred, but the return address in the stack frame is not related to the instruction that caused the error</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>UNSTKERR</name>
              <description>no description available</description>
              <bitOffset>11</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>UNSTKERR_0</name>
                  <description>no unstacking fault</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>UNSTKERR_1</name>
                  <description>unstack for an exception return has caused one or more BusFaults</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>STKERR</name>
              <description>no description available</description>
              <bitOffset>12</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>STKERR_0</name>
                  <description>no stacking fault</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>STKERR_1</name>
                  <description>stacking for an exception entry has caused one or more BusFaults</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>LSPERR</name>
              <description>no description available</description>
              <bitOffset>13</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>LSPERR_0</name>
                  <description>No bus fault occurred during floating-point lazy state preservation</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>LSPERR_1</name>
                  <description>A bus fault occurred during floating-point lazy state preservation</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>BFARVALID</name>
              <description>no description available</description>
              <bitOffset>15</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>BFARVALID_0</name>
                  <description>value in BFAR is not a valid fault address</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>BFARVALID_1</name>
                  <description>BFAR holds a valid fault address</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>UNDEFINSTR</name>
              <description>no description available</description>
              <bitOffset>16</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>UNDEFINSTR_0</name>
                  <description>no undefined instruction UsageFault</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>UNDEFINSTR_1</name>
                  <description>the processor has attempted to execute an undefined instruction</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>INVSTATE</name>
              <description>no description available</description>
              <bitOffset>17</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>INVSTATE_0</name>
                  <description>no invalid state UsageFault</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>INVSTATE_1</name>
                  <description>the processor has attempted to execute an instruction that makes illegal use of the EPSR</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>INVPC</name>
              <description>no description available</description>
              <bitOffset>18</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>INVPC_0</name>
                  <description>no invalid PC load UsageFault</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>INVPC_1</name>
                  <description>the processor has attempted an illegal load of EXC_RETURN to the PC</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>NOCP</name>
              <description>no description available</description>
              <bitOffset>19</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>NOCP_0</name>
                  <description>no UsageFault caused by attempting to access a coprocessor</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>NOCP_1</name>
                  <description>the processor has attempted to access a coprocessor</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>UNALIGNED</name>
              <description>no description available</description>
              <bitOffset>24</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>UNALIGNED_0</name>
                  <description>no unaligned access fault, or unaligned access trapping not enabled</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>UNALIGNED_1</name>
                  <description>the processor has made an unaligned memory access</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>DIVBYZERO</name>
              <description>no description available</description>
              <bitOffset>25</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>DIVBYZERO_0</name>
                  <description>no divide by zero fault, or divide by zero trapping not enabled</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>DIVBYZERO_1</name>
                  <description>the processor has executed an SDIV or UDIV instruction with a divisor of 0</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>HFSR</name>
          <description>HardFault Status register</description>
          <addressOffset>0xD2C</addressOffset>
          <size>32</size>
          <access>read-write</access>
          <resetValue>0</resetValue>
          <resetMask>0xFFFFFFFF</resetMask>
          <fields>
            <field>
              <name>VECTTBL</name>
              <description>no description available</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>VECTTBL_0</name>
                  <description>no BusFault on vector table read</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>VECTTBL_1</name>
                  <description>BusFault on vector table read</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>FORCED</name>
              <description>no description available</description>
              <bitOffset>30</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>FORCED_0</name>
                  <description>no forced HardFault</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>FORCED_1</name>
                  <description>forced HardFault</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>DEBUGEVT</name>
              <description>no description available</description>
              <bitOffset>31</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>DFSR</name>
          <description>Debug Fault Status Register</description>
          <addressOffset>0xD30</addressOffset>
          <size>32</size>
          <access>read-write</access>
          <resetValue>0</resetValue>
          <resetMask>0xFFFFFFFF</resetMask>
          <fields>
            <field>
              <name>HALTED</name>
              <description>no description available</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>HALTED_0</name>
                  <description>No active halt request debug event</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>HALTED_1</name>
                  <description>Halt request debug event active</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>BKPT</name>
              <description>no description available</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>BKPT_0</name>
                  <description>No current breakpoint debug event</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>BKPT_1</name>
                  <description>At least one current breakpoint debug event</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>DWTTRAP</name>
              <description>no description available</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>DWTTRAP_0</name>
                  <description>No current debug events generated by the DWT</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>DWTTRAP_1</name>
                  <description>At least one current debug event generated by the DWT</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>VCATCH</name>
              <description>no description available</description>
              <bitOffset>3</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>VCATCH_0</name>
                  <description>No Vector catch triggered</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>VCATCH_1</name>
                  <description>Vector catch triggered</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>EXTERNAL</name>
              <description>no description available</description>
              <bitOffset>4</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>EXTERNAL_0</name>
                  <description>No EDBGRQ debug event</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>EXTERNAL_1</name>
                  <description>EDBGRQ debug event</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>MMFAR</name>
          <description>MemManage Address Register</description>
          <addressOffset>0xD34</addressOffset>
          <size>32</size>
          <access>read-write</access>
          <resetValue>0</resetValue>
          <resetMask>0xFFFFFFFF</resetMask>
          <fields>
            <field>
              <name>ADDRESS</name>
              <description>Address of MemManage fault location</description>
              <bitOffset>0</bitOffset>
              <bitWidth>32</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>BFAR</name>
          <description>BusFault Address Register</description>
          <addressOffset>0xD38</addressOffset>
          <size>32</size>
          <access>read-write</access>
          <resetValue>0</resetValue>
          <resetMask>0xFFFFFFFF</resetMask>
          <fields>
            <field>
              <name>ADDRESS</name>
              <description>Address of the BusFault location</description>
              <bitOffset>0</bitOffset>
              <bitWidth>32</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>AFSR</name>
          <description>Auxiliary Fault Status Register</description>
          <addressOffset>0xD3C</addressOffset>
          <size>32</size>
          <access>read-write</access>
          <resetValue>0</resetValue>
          <resetMask>0xFFFFFFFF</resetMask>
          <fields>
            <field>
              <name>AUXFAULT</name>
              <description>Latched version of the AUXFAULT inputs</description>
              <bitOffset>0</bitOffset>
              <bitWidth>32</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
      </registers>
    </peripheral>
    <peripheral>
      <name>SysTick</name>
      <description>System timer</description>
      <groupName>SysTick</groupName>
      <prependToName>SYST_</prependToName>
      <baseAddress>0xE000E010</baseAddress>
      <addressBlock>
        <offset>0</offset>
        <size>0x10</size>
        <usage>registers</usage>
      </addressBlock>
      <registers>
        <register>
          <name>CSR</name>
          <description>SysTick Control and Status Register</description>
          <addressOffset>0</addressOffset>
          <size>32</size>
          <access>read-write</access>
          <resetValue>0x4</resetValue>
          <resetMask>0xFFFFFFFF</resetMask>
          <fields>
            <field>
              <name>ENABLE</name>
              <description>no description available</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>ENABLE_0</name>
                  <description>counter disabled</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ENABLE_1</name>
                  <description>counter enabled</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>TICKINT</name>
              <description>no description available</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>TICKINT_0</name>
                  <description>counting down to 0 does not assert the SysTick exception request</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>TICKINT_1</name>
                  <description>counting down to 0 asserts the SysTick exception request</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>CLKSOURCE</name>
              <description>no description available</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>CLKSOURCE_0</name>
                  <description>external clock</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>CLKSOURCE_1</name>
                  <description>processor clock</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>COUNTFLAG</name>
              <description>no description available</description>
              <bitOffset>16</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>RVR</name>
          <description>SysTick Reload Value Register</description>
          <addressOffset>0x4</addressOffset>
          <size>32</size>
          <access>read-write</access>
          <resetValue>0</resetValue>
          <resetMask>0xFFFFFFFF</resetMask>
          <fields>
            <field>
              <name>RELOAD</name>
              <description>Value to load into the SysTick Current Value Register when the counter reaches 0</description>
              <bitOffset>0</bitOffset>
              <bitWidth>24</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>CVR</name>
          <description>SysTick Current Value Register</description>
          <addressOffset>0x8</addressOffset>
          <size>32</size>
          <access>read-write</access>
          <resetValue>0</resetValue>
          <resetMask>0xFFFFFFFF</resetMask>
          <fields>
            <field>
              <name>CURRENT</name>
              <description>Current value at the time the register is accessed</description>
              <bitOffset>0</bitOffset>
              <bitWidth>24</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>CALIB</name>
          <description>SysTick Calibration Value Register</description>
          <addressOffset>0xC</addressOffset>
          <size>32</size>
          <access>read-only</access>
          <resetValue>0x80000000</resetValue>
          <resetMask>0xFFFFFFFF</resetMask>
          <fields>
            <field>
              <name>TENMS</name>
              <description>Reload value to use for 10ms timing</description>
              <bitOffset>0</bitOffset>
              <bitWidth>24</bitWidth>
              <access>read-only</access>
            </field>
            <field>
              <name>SKEW</name>
              <description>no description available</description>
              <bitOffset>30</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>SKEW_0</name>
                  <description>10ms calibration value is exact</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>SKEW_1</name>
                  <description>10ms calibration value is inexact, because of the clock frequency</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>NOREF</name>
              <description>no description available</description>
              <bitOffset>31</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
              <enumeratedValues>
                <enumeratedValue>
                  <name>NOREF_0</name>
                  <description>The reference clock is provided</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>NOREF_1</name>
                  <description>The reference clock is not provided</description>
                  <value>0x1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
      </registers>
    </peripheral>
    <peripheral>
      <name>NVIC</name>
      <description>Nested Vectored Interrupt Controller</description>
      <groupName>NVIC</groupName>
      <baseAddress>0xE000E100</baseAddress>
      <addressBlock>
        <offset>0</offset>
        <size>0xE04</size>
        <usage>registers</usage>
      </addressBlock>
      <registers>
        <register>
          <name>NVICISER0</name>
          <description>Interrupt Set Enable Register n</description>
          <addressOffset>0</addressOffset>
          <size>32</size>
          <access>read-write</access>
          <resetValue>0</resetValue>
          <resetMask>0xFFFFFFFF</resetMask>
          <fields>
            <field>
              <name>SETENA</name>
              <description>Interrupt set enable bits</description>
              <bitOffset>0</bitOffset>
              <bitWidth>32</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>NVICISER1</name>
          <description>Interrupt Set Enable Register n</description>
          <addressOffset>0x4</addressOffset>
          <size>32</size>
          <access>read-write</access>
          <resetValue>0</resetValue>
          <resetMask>0xFFFFFFFF</resetMask>
          <fields>
            <field>
              <name>SETENA</name>
              <description>Interrupt set enable bits</description>
              <bitOffset>0</bitOffset>
              <bitWidth>32</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>NVICISER2</name>
          <description>Interrupt Set Enable Register n</description>
          <addressOffset>0x8</addressOffset>
          <size>32</size>
          <access>read-write</access>
          <resetValue>0</resetValue>
          <resetMask>0xFFFFFFFF</resetMask>
          <fields>
            <field>
              <name>SETENA</name>
              <description>Interrupt set enable bits</description>
              <bitOffset>0</bitOffset>
              <bitWidth>32</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>NVICISER3</name>
          <description>Interrupt Set Enable Register n</description>
          <addressOffset>0xC</addressOffset>
          <size>32</size>
          <access>read-write</access>
          <resetValue>0</resetValue>
          <resetMask>0xFFFFFFFF</resetMask>
          <fields>
            <field>
              <name>SETENA</name>
              <description>Interrupt set enable bits</description>
              <bitOffset>0</bitOffset>
              <bitWidth>32</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>NVICICER0</name>
          <description>Interrupt Clear Enable Register n</description>
          <addressOffset>0x80</addressOffset>
          <size>32</size>
          <access>read-write</access>
          <resetValue>0</resetValue>
          <resetMask>0xFFFFFFFF</resetMask>
          <fields>
            <field>
              <name>CLRENA</name>
              <description>Interrupt clear-enable bits</description>
              <bitOffset>0</bitOffset>
              <bitWidth>32</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>NVICICER1</name>
          <description>Interrupt Clear Enable Register n</description>
          <addressOffset>0x84</addressOffset>
          <size>32</size>
          <access>read-write</access>
          <resetValue>0</resetValue>
          <resetMask>0xFFFFFFFF</resetMask>
          <fields>
            <field>
              <name>CLRENA</name>
              <description>Interrupt clear-enable bits</description>
              <bitOffset>0</bitOffset>
              <bitWidth>32</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>NVICICER2</name>
          <description>Interrupt Clear Enable Register n</description>
          <addressOffset>0x88</addressOffset>
          <size>32</size>
          <access>read-write</access>
          <resetValue>0</resetValue>
          <resetMask>0xFFFFFFFF</resetMask>
          <fields>
            <field>
              <name>CLRENA</name>
              <description>Interrupt clear-enable bits</description>
              <bitOffset>0</bitOffset>
              <bitWidth>32</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>NVICICER3</name>
          <description>Interrupt Clear Enable Register n</description>
          <addressOffset>0x8C</addressOffset>
          <size>32</size>
          <access>read-write</access>
          <resetValue>0</resetValue>
          <resetMask>0xFFFFFFFF</resetMask>
          <fields>
            <field>
              <name>CLRENA</name>
              <description>Interrupt clear-enable bits</description>
              <bitOffset>0</bitOffset>
              <bitWidth>32</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>NVICISPR0</name>
          <description>Interrupt Set Pending Register n</description>
          <addressOffset>0x100</addressOffset>
          <size>32</size>
          <access>read-write</access>
          <resetValue>0</resetValue>
          <resetMask>0xFFFFFFFF</resetMask>
          <fields>
            <field>
              <name>SETPEND</name>
              <description>Interrupt set-pending bits</description>
              <bitOffset>0</bitOffset>
              <bitWidth>32</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>NVICISPR1</name>
          <description>Interrupt Set Pending Register n</description>
          <addressOffset>0x104</addressOffset>
          <size>32</size>
          <access>read-write</access>
          <resetValue>0</resetValue>
          <resetMask>0xFFFFFFFF</resetMask>
          <fields>
            <field>
              <name>SETPEND</name>
              <description>Interrupt set-pending bits</description>
              <bitOffset>0</bitOffset>
              <bitWidth>32</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>NVICISPR2</name>
          <description>Interrupt Set Pending Register n</description>
          <addressOffset>0x108</addressOffset>
          <size>32</size>
          <access>read-write</access>
          <resetValue>0</resetValue>
          <resetMask>0xFFFFFFFF</resetMask>
          <fields>
            <field>
              <name>SETPEND</name>
              <description>Interrupt set-pending bits</description>
              <bitOffset>0</bitOffset>
              <bitWidth>32</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>NVICISPR3</name>
          <description>Interrupt Set Pending Register n</description>
          <addressOffset>0x10C</addressOffset>
          <size>32</size>
          <access>read-write</access>
          <resetValue>0</resetValue>
          <resetMask>0xFFFFFFFF</resetMask>
          <fields>
            <field>
              <name>SETPEND</name>
              <description>Interrupt set-pending bits</description>
              <bitOffset>0</bitOffset>
              <bitWidth>32</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>NVICICPR0</name>
          <description>Interrupt Clear Pending Register n</description>
          <addressOffset>0x180</addressOffset>
          <size>32</size>
          <access>read-write</access>
          <resetValue>0</resetValue>
          <resetMask>0xFFFFFFFF</resetMask>
          <fields>
            <field>
              <name>CLRPEND</name>
              <description>Interrupt clear-pending bits</description>
              <bitOffset>0</bitOffset>
              <bitWidth>32</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>NVICICPR1</name>
          <description>Interrupt Clear Pending Register n</description>
          <addressOffset>0x184</addressOffset>
          <size>32</size>
          <access>read-write</access>
          <resetValue>0</resetValue>
          <resetMask>0xFFFFFFFF</resetMask>
          <fields>
            <field>
              <name>CLRPEND</name>
              <description>Interrupt clear-pending bits</description>
              <bitOffset>0</bitOffset>
              <bitWidth>32</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>NVICICPR2</name>
          <description>Interrupt Clear Pending Register n</description>
          <addressOffset>0x188</addressOffset>
          <size>32</size>
          <access>read-write</access>
          <resetValue>0</resetValue>
          <resetMask>0xFFFFFFFF</resetMask>
          <fields>
            <field>
              <name>CLRPEND</name>
              <description>Interrupt clear-pending bits</description>
              <bitOffset>0</bitOffset>
              <bitWidth>32</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>NVICICPR3</name>
          <description>Interrupt Clear Pending Register n</description>
          <addressOffset>0x18C</addressOffset>
          <size>32</size>
          <access>read-write</access>
          <resetValue>0</resetValue>
          <resetMask>0xFFFFFFFF</resetMask>
          <fields>
            <field>
              <name>CLRPEND</name>
              <description>Interrupt clear-pending bits</description>
              <bitOffset>0</bitOffset>
              <bitWidth>32</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>NVICIABR0</name>
          <description>Interrupt Active bit Register n</description>
          <addressOffset>0x200</addressOffset>
          <size>32</size>
          <access>read-write</access>
          <resetValue>0</resetValue>
          <resetMask>0xFFFFFFFF</resetMask>
          <fields>
            <field>
              <name>ACTIVE</name>
              <description>Interrupt active flags</description>
              <bitOffset>0</bitOffset>
              <bitWidth>32</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>NVICIABR1</name>
          <description>Interrupt Active bit Register n</description>
          <addressOffset>0x204</addressOffset>
          <size>32</size>
          <access>read-write</access>
          <resetValue>0</resetValue>
          <resetMask>0xFFFFFFFF</resetMask>
          <fields>
            <field>
              <name>ACTIVE</name>
              <description>Interrupt active flags</description>
              <bitOffset>0</bitOffset>
              <bitWidth>32</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>NVICIABR2</name>
          <description>Interrupt Active bit Register n</description>
          <addressOffset>0x208</addressOffset>
          <size>32</size>
          <access>read-write</access>
          <resetValue>0</resetValue>
          <resetMask>0xFFFFFFFF</resetMask>
          <fields>
            <field>
              <name>ACTIVE</name>
              <description>Interrupt active flags</description>
              <bitOffset>0</bitOffset>
              <bitWidth>32</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>NVICIABR3</name>
          <description>Interrupt Active bit Register n</description>
          <addressOffset>0x20C</addressOffset>
          <size>32</size>
          <access>read-write</access>
          <resetValue>0</resetValue>
          <resetMask>0xFFFFFFFF</resetMask>
          <fields>
            <field>
              <name>ACTIVE</name>
              <description>Interrupt active flags</description>
              <bitOffset>0</bitOffset>
              <bitWidth>32</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>NVICIP0</name>
          <description>Interrupt Priority Register n</description>
          <addressOffset>0x300</addressOffset>
          <size>8</size>
          <access>read-write</access>
          <resetValue>0</resetValue>
          <resetMask>0xFF</resetMask>
          <fields>
            <field>
              <name>PRI0</name>
              <description>Priority of interrupt 0</description>
              <bitOffset>0</bitOffset>
              <bitWidth>8</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>NVICIP1</name>
          <description>Interrupt Priority Register n</description>
          <addressOffset>0x301</addressOffset>
          <size>8</size>
          <access>read-write</access>
          <resetValue>0</resetValue>
          <resetMask>0xFF</resetMask>
          <fields>
            <field>
              <name>PRI1</name>
              <description>Priority of interrupt 1</description>
              <bitOffset>0</bitOffset>
              <bitWidth>8</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>NVICIP2</name>
          <description>Interrupt Priority Register n</description>
          <addressOffset>0x302</addressOffset>
          <size>8</size>
          <access>read-write</access>
          <resetValue>0</resetValue>
          <resetMask>0xFF</resetMask>
          <fields>
            <field>
              <name>PRI2</name>
              <description>Priority of interrupt 2</description>
              <bitOffset>0</bitOffset>
              <bitWidth>8</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>NVICIP3</name>
          <description>Interrupt Priority Register n</description>
          <addressOffset>0x303</addressOffset>
          <size>8</size>
          <access>read-write</access>
          <resetValue>0</resetValue>
          <resetMask>0xFF</resetMask>
          <fields>
            <field>
              <name>PRI3</name>
              <description>Priority of interrupt 3</description>
              <bitOffset>0</bitOffset>
              <bitWidth>8</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>NVICIP4</name>
          <description>Interrupt Priority Register n</description>
          <addressOffset>0x304</addressOffset>
          <size>8</size>
          <access>read-write</access>
          <resetValue>0</resetValue>
          <resetMask>0xFF</resetMask>
          <fields>
            <field>
              <name>PRI4</name>
              <description>Priority of interrupt 4</description>
              <bitOffset>0</bitOffset>
              <bitWidth>8</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>NVICIP5</name>
          <description>Interrupt Priority Register n</description>
          <addressOffset>0x305</addressOffset>
          <size>8</size>
          <access>read-write</access>
          <resetValue>0</resetValue>
          <resetMask>0xFF</resetMask>
          <fields>
            <field>
              <name>PRI5</name>
              <description>Priority of interrupt 5</description>
              <bitOffset>0</bitOffset>
              <bitWidth>8</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>NVICIP6</name>
          <description>Interrupt Priority Register n</description>
          <addressOffset>0x306</addressOffset>
          <size>8</size>
          <access>read-write</access>
          <resetValue>0</resetValue>
          <resetMask>0xFF</resetMask>
          <fields>
            <field>
              <name>PRI6</name>
              <description>Priority of interrupt 6</description>
              <bitOffset>0</bitOffset>
              <bitWidth>8</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>NVICIP7</name>
          <description>Interrupt Priority Register n</description>
          <addressOffset>0x307</addressOffset>
          <size>8</size>
          <access>read-write</access>
          <resetValue>0</resetValue>
          <resetMask>0xFF</resetMask>
          <fields>
            <field>
              <name>PRI7</name>
              <description>Priority of interrupt 7</description>
              <bitOffset>0</bitOffset>
              <bitWidth>8</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>NVICIP8</name>
          <description>Interrupt Priority Register n</description>
          <addressOffset>0x308</addressOffset>
          <size>8</size>
          <access>read-write</access>
          <resetValue>0</resetValue>
          <resetMask>0xFF</resetMask>
          <fields>
            <field>
              <name>PRI8</name>
              <description>Priority of interrupt 8</description>
              <bitOffset>0</bitOffset>
              <bitWidth>8</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>NVICIP9</name>
          <description>Interrupt Priority Register n</description>
          <addressOffset>0x309</addressOffset>
          <size>8</size>
          <access>read-write</access>
          <resetValue>0</resetValue>
          <resetMask>0xFF</resetMask>
          <fields>
            <field>
              <name>PRI9</name>
              <description>Priority of interrupt 9</description>
              <bitOffset>0</bitOffset>
              <bitWidth>8</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>NVICIP10</name>
          <description>Interrupt Priority Register n</description>
          <addressOffset>0x30A</addressOffset>
          <size>8</size>
          <access>read-write</access>
          <resetValue>0</resetValue>
          <resetMask>0xFF</resetMask>
          <fields>
            <field>
              <name>PRI10</name>
              <description>Priority of interrupt 10</description>
              <bitOffset>0</bitOffset>
              <bitWidth>8</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>NVICIP11</name>
          <description>Interrupt Priority Register n</description>
          <addressOffset>0x30B</addressOffset>
          <size>8</size>
          <access>read-write</access>
          <resetValue>0</resetValue>
          <resetMask>0xFF</resetMask>
          <fields>
            <field>
              <name>PRI11</name>
              <description>Priority of interrupt 11</description>
              <bitOffset>0</bitOffset>
              <bitWidth>8</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>NVICIP12</name>
          <description>Interrupt Priority Register n</description>
          <addressOffset>0x30C</addressOffset>
          <size>8</size>
          <access>read-write</access>
          <resetValue>0</resetValue>
          <resetMask>0xFF</resetMask>
          <fields>
            <field>
              <name>PRI12</name>
              <description>Priority of interrupt 12</description>
              <bitOffset>0</bitOffset>
              <bitWidth>8</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>NVICIP13</name>
          <description>Interrupt Priority Register n</description>
          <addressOffset>0x30D</addressOffset>
          <size>8</size>
          <access>read-write</access>
          <resetValue>0</resetValue>
          <resetMask>0xFF</resetMask>
          <fields>
            <field>
              <name>PRI13</name>
              <description>Priority of interrupt 13</description>
              <bitOffset>0</bitOffset>
              <bitWidth>8</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>NVICIP14</name>
          <description>Interrupt Priority Register n</description>
          <addressOffset>0x30E</addressOffset>
          <size>8</size>
          <access>read-write</access>
          <resetValue>0</resetValue>
          <resetMask>0xFF</resetMask>
          <fields>
            <field>
              <name>PRI14</name>
              <description>Priority of interrupt 14</description>
              <bitOffset>0</bitOffset>
              <bitWidth>8</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>NVICIP15</name>
          <description>Interrupt Priority Register n</description>
          <addressOffset>0x30F</addressOffset>
          <size>8</size>
          <access>read-write</access>
          <resetValue>0</resetValue>
          <resetMask>0xFF</resetMask>
          <fields>
            <field>
              <name>PRI15</name>
              <description>Priority of interrupt 15</description>
              <bitOffset>0</bitOffset>
              <bitWidth>8</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>NVICIP16</name>
          <description>Interrupt Priority Register n</description>
          <addressOffset>0x310</addressOffset>
          <size>8</size>
          <access>read-write</access>
          <resetValue>0</resetValue>
          <resetMask>0xFF</resetMask>
          <fields>
            <field>
              <name>PRI16</name>
              <description>Priority of interrupt 16</description>
              <bitOffset>0</bitOffset>
              <bitWidth>8</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>NVICIP17</name>
          <description>Interrupt Priority Register n</description>
          <addressOffset>0x311</addressOffset>
          <size>8</size>
          <access>read-write</access>
          <resetValue>0</resetValue>
          <resetMask>0xFF</resetMask>
          <fields>
            <field>
              <name>PRI17</name>
              <description>Priority of interrupt 17</description>
              <bitOffset>0</bitOffset>
              <bitWidth>8</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>NVICIP18</name>
          <description>Interrupt Priority Register n</description>
          <addressOffset>0x312</addressOffset>
          <size>8</size>
          <access>read-write</access>
          <resetValue>0</resetValue>
          <resetMask>0xFF</resetMask>
          <fields>
            <field>
              <name>PRI18</name>
              <description>Priority of interrupt 18</description>
              <bitOffset>0</bitOffset>
              <bitWidth>8</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>NVICIP19</name>
          <description>Interrupt Priority Register n</description>
          <addressOffset>0x313</addressOffset>
          <size>8</size>
          <access>read-write</access>
          <resetValue>0</resetValue>
          <resetMask>0xFF</resetMask>
          <fields>
            <field>
              <name>PRI19</name>
              <description>Priority of interrupt 19</description>
              <bitOffset>0</bitOffset>
              <bitWidth>8</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>NVICIP20</name>
          <description>Interrupt Priority Register n</description>
          <addressOffset>0x314</addressOffset>
          <size>8</size>
          <access>read-write</access>
          <resetValue>0</resetValue>
          <resetMask>0xFF</resetMask>
          <fields>
            <field>
              <name>PRI20</name>
              <description>Priority of interrupt 20</description>
              <bitOffset>0</bitOffset>
              <bitWidth>8</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>NVICIP21</name>
          <description>Interrupt Priority Register n</description>
          <addressOffset>0x315</addressOffset>
          <size>8</size>
          <access>read-write</access>
          <resetValue>0</resetValue>
          <resetMask>0xFF</resetMask>
          <fields>
            <field>
              <name>PRI21</name>
              <description>Priority of interrupt 21</description>
              <bitOffset>0</bitOffset>
              <bitWidth>8</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>NVICIP22</name>
          <description>Interrupt Priority Register n</description>
          <addressOffset>0x316</addressOffset>
          <size>8</size>
          <access>read-write</access>
          <resetValue>0</resetValue>
          <resetMask>0xFF</resetMask>
          <fields>
            <field>
              <name>PRI22</name>
              <description>Priority of interrupt 22</description>
              <bitOffset>0</bitOffset>
              <bitWidth>8</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>NVICIP23</name>
          <description>Interrupt Priority Register n</description>
          <addressOffset>0x317</addressOffset>
          <size>8</size>
          <access>read-write</access>
          <resetValue>0</resetValue>
          <resetMask>0xFF</resetMask>
          <fields>
            <field>
              <name>PRI23</name>
              <description>Priority of interrupt 23</description>
              <bitOffset>0</bitOffset>
              <bitWidth>8</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>NVICIP24</name>
          <description>Interrupt Priority Register n</description>
          <addressOffset>0x318</addressOffset>
          <size>8</size>
          <access>read-write</access>
          <resetValue>0</resetValue>
          <resetMask>0xFF</resetMask>
          <fields>
            <field>
              <name>PRI24</name>
              <description>Priority of interrupt 24</description>
              <bitOffset>0</bitOffset>
              <bitWidth>8</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>NVICIP25</name>
          <description>Interrupt Priority Register n</description>
          <addressOffset>0x319</addressOffset>
          <size>8</size>
          <access>read-write</access>
          <resetValue>0</resetValue>
          <resetMask>0xFF</resetMask>
          <fields>
            <field>
              <name>PRI25</name>
              <description>Priority of interrupt 25</description>
              <bitOffset>0</bitOffset>
              <bitWidth>8</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>NVICIP26</name>
          <description>Interrupt Priority Register n</description>
          <addressOffset>0x31A</addressOffset>
          <size>8</size>
          <access>read-write</access>
          <resetValue>0</resetValue>
          <resetMask>0xFF</resetMask>
          <fields>
            <field>
              <name>PRI26</name>
              <description>Priority of interrupt 26</description>
              <bitOffset>0</bitOffset>
              <bitWidth>8</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>NVICIP27</name>
          <description>Interrupt Priority Register n</description>
          <addressOffset>0x31B</addressOffset>
          <size>8</size>
          <access>read-write</access>
          <resetValue>0</resetValue>
          <resetMask>0xFF</resetMask>
          <fields>
            <field>
              <name>PRI27</name>
              <description>Priority of interrupt 27</description>
              <bitOffset>0</bitOffset>
              <bitWidth>8</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>NVICIP28</name>
          <description>Interrupt Priority Register n</description>
          <addressOffset>0x31C</addressOffset>
          <size>8</size>
          <access>read-write</access>
          <resetValue>0</resetValue>
          <resetMask>0xFF</resetMask>
          <fields>
            <field>
              <name>PRI28</name>
              <description>Priority of interrupt 28</description>
              <bitOffset>0</bitOffset>
              <bitWidth>8</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>NVICIP29</name>
          <description>Interrupt Priority Register n</description>
          <addressOffset>0x31D</addressOffset>
          <size>8</size>
          <access>read-write</access>
          <resetValue>0</resetValue>
          <resetMask>0xFF</resetMask>
          <fields>
            <field>
              <name>PRI29</name>
              <description>Priority of interrupt 29</description>
              <bitOffset>0</bitOffset>
              <bitWidth>8</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>NVICIP30</name>
          <description>Interrupt Priority Register n</description>
          <addressOffset>0x31E</addressOffset>
          <size>8</size>
          <access>read-write</access>
          <resetValue>0</resetValue>
          <resetMask>0xFF</resetMask>
          <fields>
            <field>
              <name>PRI30</name>
              <description>Priority of interrupt 30</description>
              <bitOffset>0</bitOffset>
              <bitWidth>8</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>NVICIP31</name>
          <description>Interrupt Priority Register n</description>
          <addressOffset>0x31F</addressOffset>
          <size>8</size>
          <access>read-write</access>
          <resetValue>0</resetValue>
          <resetMask>0xFF</resetMask>
          <fields>
            <field>
              <name>PRI31</name>
              <description>Priority of interrupt 31</description>
              <bitOffset>0</bitOffset>
              <bitWidth>8</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>NVICIP32</name>
          <description>Interrupt Priority Register n</description>
          <addressOffset>0x320</addressOffset>
          <size>8</size>
          <access>read-write</access>
          <resetValue>0</resetValue>
          <resetMask>0xFF</resetMask>
          <fields>
            <field>
              <name>PRI32</name>
              <description>Priority of interrupt 32</description>
              <bitOffset>0</bitOffset>
              <bitWidth>8</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>NVICIP33</name>
          <description>Interrupt Priority Register n</description>
          <addressOffset>0x321</addressOffset>
          <size>8</size>
          <access>read-write</access>
          <resetValue>0</resetValue>
          <resetMask>0xFF</resetMask>
          <fields>
            <field>
              <name>PRI33</name>
              <description>Priority of interrupt 33</description>
              <bitOffset>0</bitOffset>
              <bitWidth>8</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>NVICIP34</name>
          <description>Interrupt Priority Register n</description>
          <addressOffset>0x322</addressOffset>
          <size>8</size>
          <access>read-write</access>
          <resetValue>0</resetValue>
          <resetMask>0xFF</resetMask>
          <fields>
            <field>
              <name>PRI34</name>
              <description>Priority of interrupt 34</description>
              <bitOffset>0</bitOffset>
              <bitWidth>8</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>NVICIP35</name>
          <description>Interrupt Priority Register n</description>
          <addressOffset>0x323</addressOffset>
          <size>8</size>
          <access>read-write</access>
          <resetValue>0</resetValue>
          <resetMask>0xFF</resetMask>
          <fields>
            <field>
              <name>PRI35</name>
              <description>Priority of interrupt 35</description>
              <bitOffset>0</bitOffset>
              <bitWidth>8</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>NVICIP36</name>
          <description>Interrupt Priority Register n</description>
          <addressOffset>0x324</addressOffset>
          <size>8</size>
          <access>read-write</access>
          <resetValue>0</resetValue>
          <resetMask>0xFF</resetMask>
          <fields>
            <field>
              <name>PRI36</name>
              <description>Priority of interrupt 36</description>
              <bitOffset>0</bitOffset>
              <bitWidth>8</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>NVICIP37</name>
          <description>Interrupt Priority Register n</description>
          <addressOffset>0x325</addressOffset>
          <size>8</size>
          <access>read-write</access>
          <resetValue>0</resetValue>
          <resetMask>0xFF</resetMask>
          <fields>
            <field>
              <name>PRI37</name>
              <description>Priority of interrupt 37</description>
              <bitOffset>0</bitOffset>
              <bitWidth>8</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>NVICIP38</name>
          <description>Interrupt Priority Register n</description>
          <addressOffset>0x326</addressOffset>
          <size>8</size>
          <access>read-write</access>
          <resetValue>0</resetValue>
          <resetMask>0xFF</resetMask>
          <fields>
            <field>
              <name>PRI38</name>
              <description>Priority of interrupt 38</description>
              <bitOffset>0</bitOffset>
              <bitWidth>8</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>NVICIP39</name>
          <description>Interrupt Priority Register n</description>
          <addressOffset>0x327</addressOffset>
          <size>8</size>
          <access>read-write</access>
          <resetValue>0</resetValue>
          <resetMask>0xFF</resetMask>
          <fields>
            <field>
              <name>PRI39</name>
              <description>Priority of interrupt 39</description>
              <bitOffset>0</bitOffset>
              <bitWidth>8</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>NVICIP40</name>
          <description>Interrupt Priority Register n</description>
          <addressOffset>0x328</addressOffset>
          <size>8</size>
          <access>read-write</access>
          <resetValue>0</resetValue>
          <resetMask>0xFF</resetMask>
          <fields>
            <field>
              <name>PRI40</name>
              <description>Priority of interrupt 40</description>
              <bitOffset>0</bitOffset>
              <bitWidth>8</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>NVICIP41</name>
          <description>Interrupt Priority Register n</description>
          <addressOffset>0x329</addressOffset>
          <size>8</size>
          <access>read-write</access>
          <resetValue>0</resetValue>
          <resetMask>0xFF</resetMask>
          <fields>
            <field>
              <name>PRI41</name>
              <description>Priority of interrupt 41</description>
              <bitOffset>0</bitOffset>
              <bitWidth>8</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>NVICIP42</name>
          <description>Interrupt Priority Register n</description>
          <addressOffset>0x32A</addressOffset>
          <size>8</size>
          <access>read-write</access>
          <resetValue>0</resetValue>
          <resetMask>0xFF</resetMask>
          <fields>
            <field>
              <name>PRI42</name>
              <description>Priority of interrupt 42</description>
              <bitOffset>0</bitOffset>
              <bitWidth>8</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>NVICIP43</name>
          <description>Interrupt Priority Register n</description>
          <addressOffset>0x32B</addressOffset>
          <size>8</size>
          <access>read-write</access>
          <resetValue>0</resetValue>
          <resetMask>0xFF</resetMask>
          <fields>
            <field>
              <name>PRI43</name>
              <description>Priority of interrupt 43</description>
              <bitOffset>0</bitOffset>
              <bitWidth>8</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>NVICIP44</name>
          <description>Interrupt Priority Register n</description>
          <addressOffset>0x32C</addressOffset>
          <size>8</size>
          <access>read-write</access>
          <resetValue>0</resetValue>
          <resetMask>0xFF</resetMask>
          <fields>
            <field>
              <name>PRI44</name>
              <description>Priority of interrupt 44</description>
              <bitOffset>0</bitOffset>
              <bitWidth>8</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>NVICIP45</name>
          <description>Interrupt Priority Register n</description>
          <addressOffset>0x32D</addressOffset>
          <size>8</size>
          <access>read-write</access>
          <resetValue>0</resetValue>
          <resetMask>0xFF</resetMask>
          <fields>
            <field>
              <name>PRI45</name>
              <description>Priority of interrupt 45</description>
              <bitOffset>0</bitOffset>
              <bitWidth>8</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>NVICIP46</name>
          <description>Interrupt Priority Register n</description>
          <addressOffset>0x32E</addressOffset>
          <size>8</size>
          <access>read-write</access>
          <resetValue>0</resetValue>
          <resetMask>0xFF</resetMask>
          <fields>
            <field>
              <name>PRI46</name>
              <description>Priority of interrupt 46</description>
              <bitOffset>0</bitOffset>
              <bitWidth>8</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>NVICIP47</name>
          <description>Interrupt Priority Register n</description>
          <addressOffset>0x32F</addressOffset>
          <size>8</size>
          <access>read-write</access>
          <resetValue>0</resetValue>
          <resetMask>0xFF</resetMask>
          <fields>
            <field>
              <name>PRI47</name>
              <description>Priority of interrupt 47</description>
              <bitOffset>0</bitOffset>
              <bitWidth>8</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>NVICIP48</name>
          <description>Interrupt Priority Register n</description>
          <addressOffset>0x330</addressOffset>
          <size>8</size>
          <access>read-write</access>
          <resetValue>0</resetValue>
          <resetMask>0xFF</resetMask>
          <fields>
            <field>
              <name>PRI48</name>
              <description>Priority of interrupt 48</description>
              <bitOffset>0</bitOffset>
              <bitWidth>8</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>NVICIP49</name>
          <description>Interrupt Priority Register n</description>
          <addressOffset>0x331</addressOffset>
          <size>8</size>
          <access>read-write</access>
          <resetValue>0</resetValue>
          <resetMask>0xFF</resetMask>
          <fields>
            <field>
              <name>PRI49</name>
              <description>Priority of interrupt 49</description>
              <bitOffset>0</bitOffset>
              <bitWidth>8</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>NVICIP50</name>
          <description>Interrupt Priority Register n</description>
          <addressOffset>0x332</addressOffset>
          <size>8</size>
          <access>read-write</access>
          <resetValue>0</resetValue>
          <resetMask>0xFF</resetMask>
          <fields>
            <field>
              <name>PRI50</name>
              <description>Priority of interrupt 50</description>
              <bitOffset>0</bitOffset>
              <bitWidth>8</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>NVICIP51</name>
          <description>Interrupt Priority Register n</description>
          <addressOffset>0x333</addressOffset>
          <size>8</size>
          <access>read-write</access>
          <resetValue>0</resetValue>
          <resetMask>0xFF</resetMask>
          <fields>
            <field>
              <name>PRI51</name>
              <description>Priority of interrupt 51</description>
              <bitOffset>0</bitOffset>
              <bitWidth>8</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>NVICIP52</name>
          <description>Interrupt Priority Register n</description>
          <addressOffset>0x334</addressOffset>
          <size>8</size>
          <access>read-write</access>
          <resetValue>0</resetValue>
          <resetMask>0xFF</resetMask>
          <fields>
            <field>
              <name>PRI52</name>
              <description>Priority of interrupt 52</description>
              <bitOffset>0</bitOffset>
              <bitWidth>8</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>NVICIP53</name>
          <description>Interrupt Priority Register n</description>
          <addressOffset>0x335</addressOffset>
          <size>8</size>
          <access>read-write</access>
          <resetValue>0</resetValue>
          <resetMask>0xFF</resetMask>
          <fields>
            <field>
              <name>PRI53</name>
              <description>Priority of interrupt 53</description>
              <bitOffset>0</bitOffset>
              <bitWidth>8</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>NVICIP54</name>
          <description>Interrupt Priority Register n</description>
          <addressOffset>0x336</addressOffset>
          <size>8</size>
          <access>read-write</access>
          <resetValue>0</resetValue>
          <resetMask>0xFF</resetMask>
          <fields>
            <field>
              <name>PRI54</name>
              <description>Priority of interrupt 54</description>
              <bitOffset>0</bitOffset>
              <bitWidth>8</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>NVICIP55</name>
          <description>Interrupt Priority Register n</description>
          <addressOffset>0x337</addressOffset>
          <size>8</size>
          <access>read-write</access>
          <resetValue>0</resetValue>
          <resetMask>0xFF</resetMask>
          <fields>
            <field>
              <name>PRI55</name>
              <description>Priority of interrupt 55</description>
              <bitOffset>0</bitOffset>
              <bitWidth>8</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>NVICIP56</name>
          <description>Interrupt Priority Register n</description>
          <addressOffset>0x338</addressOffset>
          <size>8</size>
          <access>read-write</access>
          <resetValue>0</resetValue>
          <resetMask>0xFF</resetMask>
          <fields>
            <field>
              <name>PRI56</name>
              <description>Priority of interrupt 56</description>
              <bitOffset>0</bitOffset>
              <bitWidth>8</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>NVICIP57</name>
          <description>Interrupt Priority Register n</description>
          <addressOffset>0x339</addressOffset>
          <size>8</size>
          <access>read-write</access>
          <resetValue>0</resetValue>
          <resetMask>0xFF</resetMask>
          <fields>
            <field>
              <name>PRI57</name>
              <description>Priority of interrupt 57</description>
              <bitOffset>0</bitOffset>
              <bitWidth>8</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>NVICIP58</name>
          <description>Interrupt Priority Register n</description>
          <addressOffset>0x33A</addressOffset>
          <size>8</size>
          <access>read-write</access>
          <resetValue>0</resetValue>
          <resetMask>0xFF</resetMask>
          <fields>
            <field>
              <name>PRI58</name>
              <description>Priority of interrupt 58</description>
              <bitOffset>0</bitOffset>
              <bitWidth>8</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>NVICIP59</name>
          <description>Interrupt Priority Register n</description>
          <addressOffset>0x33B</addressOffset>
          <size>8</size>
          <access>read-write</access>
          <resetValue>0</resetValue>
          <resetMask>0xFF</resetMask>
          <fields>
            <field>
              <name>PRI59</name>
              <description>Priority of interrupt 59</description>
              <bitOffset>0</bitOffset>
              <bitWidth>8</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>NVICIP60</name>
          <description>Interrupt Priority Register n</description>
          <addressOffset>0x33C</addressOffset>
          <size>8</size>
          <access>read-write</access>
          <resetValue>0</resetValue>
          <resetMask>0xFF</resetMask>
          <fields>
            <field>
              <name>PRI60</name>
              <description>Priority of interrupt 60</description>
              <bitOffset>0</bitOffset>
              <bitWidth>8</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>NVICIP61</name>
          <description>Interrupt Priority Register n</description>
          <addressOffset>0x33D</addressOffset>
          <size>8</size>
          <access>read-write</access>
          <resetValue>0</resetValue>
          <resetMask>0xFF</resetMask>
          <fields>
            <field>
              <name>PRI61</name>
              <description>Priority of interrupt 61</description>
              <bitOffset>0</bitOffset>
              <bitWidth>8</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>NVICIP62</name>
          <description>Interrupt Priority Register n</description>
          <addressOffset>0x33E</addressOffset>
          <size>8</size>
          <access>read-write</access>
          <resetValue>0</resetValue>
          <resetMask>0xFF</resetMask>
          <fields>
            <field>
              <name>PRI62</name>
              <description>Priority of interrupt 62</description>
              <bitOffset>0</bitOffset>
              <bitWidth>8</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>NVICIP63</name>
          <description>Interrupt Priority Register n</description>
          <addressOffset>0x33F</addressOffset>
          <size>8</size>
          <access>read-write</access>
          <resetValue>0</resetValue>
          <resetMask>0xFF</resetMask>
          <fields>
            <field>
              <name>PRI63</name>
              <description>Priority of interrupt 63</description>
              <bitOffset>0</bitOffset>
              <bitWidth>8</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>NVICIP64</name>
          <description>Interrupt Priority Register n</description>
          <addressOffset>0x340</addressOffset>
          <size>8</size>
          <access>read-write</access>
          <resetValue>0</resetValue>
          <resetMask>0xFF</resetMask>
          <fields>
            <field>
              <name>PRI64</name>
              <description>Priority of interrupt 64</description>
              <bitOffset>0</bitOffset>
              <bitWidth>8</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>NVICIP65</name>
          <description>Interrupt Priority Register n</description>
          <addressOffset>0x341</addressOffset>
          <size>8</size>
          <access>read-write</access>
          <resetValue>0</resetValue>
          <resetMask>0xFF</resetMask>
          <fields>
            <field>
              <name>PRI65</name>
              <description>Priority of interrupt 65</description>
              <bitOffset>0</bitOffset>
              <bitWidth>8</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>NVICIP66</name>
          <description>Interrupt Priority Register n</description>
          <addressOffset>0x342</addressOffset>
          <size>8</size>
          <access>read-write</access>
          <resetValue>0</resetValue>
          <resetMask>0xFF</resetMask>
          <fields>
            <field>
              <name>PRI66</name>
              <description>Priority of interrupt 66</description>
              <bitOffset>0</bitOffset>
              <bitWidth>8</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>NVICIP67</name>
          <description>Interrupt Priority Register n</description>
          <addressOffset>0x343</addressOffset>
          <size>8</size>
          <access>read-write</access>
          <resetValue>0</resetValue>
          <resetMask>0xFF</resetMask>
          <fields>
            <field>
              <name>PRI67</name>
              <description>Priority of interrupt 67</description>
              <bitOffset>0</bitOffset>
              <bitWidth>8</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>NVICIP68</name>
          <description>Interrupt Priority Register n</description>
          <addressOffset>0x344</addressOffset>
          <size>8</size>
          <access>read-write</access>
          <resetValue>0</resetValue>
          <resetMask>0xFF</resetMask>
          <fields>
            <field>
              <name>PRI68</name>
              <description>Priority of interrupt 68</description>
              <bitOffset>0</bitOffset>
              <bitWidth>8</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>NVICIP69</name>
          <description>Interrupt Priority Register n</description>
          <addressOffset>0x345</addressOffset>
          <size>8</size>
          <access>read-write</access>
          <resetValue>0</resetValue>
          <resetMask>0xFF</resetMask>
          <fields>
            <field>
              <name>PRI69</name>
              <description>Priority of interrupt 69</description>
              <bitOffset>0</bitOffset>
              <bitWidth>8</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>NVICIP70</name>
          <description>Interrupt Priority Register n</description>
          <addressOffset>0x346</addressOffset>
          <size>8</size>
          <access>read-write</access>
          <resetValue>0</resetValue>
          <resetMask>0xFF</resetMask>
          <fields>
            <field>
              <name>PRI70</name>
              <description>Priority of interrupt 70</description>
              <bitOffset>0</bitOffset>
              <bitWidth>8</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>NVICIP71</name>
          <description>Interrupt Priority Register n</description>
          <addressOffset>0x347</addressOffset>
          <size>8</size>
          <access>read-write</access>
          <resetValue>0</resetValue>
          <resetMask>0xFF</resetMask>
          <fields>
            <field>
              <name>PRI71</name>
              <description>Priority of interrupt 71</description>
              <bitOffset>0</bitOffset>
              <bitWidth>8</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>NVICIP72</name>
          <description>Interrupt Priority Register n</description>
          <addressOffset>0x348</addressOffset>
          <size>8</size>
          <access>read-write</access>
          <resetValue>0</resetValue>
          <resetMask>0xFF</resetMask>
          <fields>
            <field>
              <name>PRI72</name>
              <description>Priority of interrupt 72</description>
              <bitOffset>0</bitOffset>
              <bitWidth>8</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>NVICIP73</name>
          <description>Interrupt Priority Register n</description>
          <addressOffset>0x349</addressOffset>
          <size>8</size>
          <access>read-write</access>
          <resetValue>0</resetValue>
          <resetMask>0xFF</resetMask>
          <fields>
            <field>
              <name>PRI73</name>
              <description>Priority of interrupt 73</description>
              <bitOffset>0</bitOffset>
              <bitWidth>8</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>NVICIP74</name>
          <description>Interrupt Priority Register n</description>
          <addressOffset>0x34A</addressOffset>
          <size>8</size>
          <access>read-write</access>
          <resetValue>0</resetValue>
          <resetMask>0xFF</resetMask>
          <fields>
            <field>
              <name>PRI74</name>
              <description>Priority of interrupt 74</description>
              <bitOffset>0</bitOffset>
              <bitWidth>8</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>NVICIP75</name>
          <description>Interrupt Priority Register n</description>
          <addressOffset>0x34B</addressOffset>
          <size>8</size>
          <access>read-write</access>
          <resetValue>0</resetValue>
          <resetMask>0xFF</resetMask>
          <fields>
            <field>
              <name>PRI75</name>
              <description>Priority of interrupt 75</description>
              <bitOffset>0</bitOffset>
              <bitWidth>8</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>NVICIP76</name>
          <description>Interrupt Priority Register n</description>
          <addressOffset>0x34C</addressOffset>
          <size>8</size>
          <access>read-write</access>
          <resetValue>0</resetValue>
          <resetMask>0xFF</resetMask>
          <fields>
            <field>
              <name>PRI76</name>
              <description>Priority of interrupt 76</description>
              <bitOffset>0</bitOffset>
              <bitWidth>8</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>NVICIP77</name>
          <description>Interrupt Priority Register n</description>
          <addressOffset>0x34D</addressOffset>
          <size>8</size>
          <access>read-write</access>
          <resetValue>0</resetValue>
          <resetMask>0xFF</resetMask>
          <fields>
            <field>
              <name>PRI77</name>
              <description>Priority of interrupt 77</description>
              <bitOffset>0</bitOffset>
              <bitWidth>8</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>NVICIP78</name>
          <description>Interrupt Priority Register n</description>
          <addressOffset>0x34E</addressOffset>
          <size>8</size>
          <access>read-write</access>
          <resetValue>0</resetValue>
          <resetMask>0xFF</resetMask>
          <fields>
            <field>
              <name>PRI78</name>
              <description>Priority of interrupt 78</description>
              <bitOffset>0</bitOffset>
              <bitWidth>8</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>NVICIP79</name>
          <description>Interrupt Priority Register n</description>
          <addressOffset>0x34F</addressOffset>
          <size>8</size>
          <access>read-write</access>
          <resetValue>0</resetValue>
          <resetMask>0xFF</resetMask>
          <fields>
            <field>
              <name>PRI79</name>
              <description>Priority of interrupt 79</description>
              <bitOffset>0</bitOffset>
              <bitWidth>8</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>NVICIP80</name>
          <description>Interrupt Priority Register n</description>
          <addressOffset>0x350</addressOffset>
          <size>8</size>
          <access>read-write</access>
          <resetValue>0</resetValue>
          <resetMask>0xFF</resetMask>
          <fields>
            <field>
              <name>PRI80</name>
              <description>Priority of interrupt 80</description>
              <bitOffset>0</bitOffset>
              <bitWidth>8</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>NVICIP81</name>
          <description>Interrupt Priority Register n</description>
          <addressOffset>0x351</addressOffset>
          <size>8</size>
          <access>read-write</access>
          <resetValue>0</resetValue>
          <resetMask>0xFF</resetMask>
          <fields>
            <field>
              <name>PRI81</name>
              <description>Priority of interrupt 81</description>
              <bitOffset>0</bitOffset>
              <bitWidth>8</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>NVICIP82</name>
          <description>Interrupt Priority Register n</description>
          <addressOffset>0x352</addressOffset>
          <size>8</size>
          <access>read-write</access>
          <resetValue>0</resetValue>
          <resetMask>0xFF</resetMask>
          <fields>
            <field>
              <name>PRI82</name>
              <description>Priority of interrupt 82</description>
              <bitOffset>0</bitOffset>
              <bitWidth>8</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>NVICIP83</name>
          <description>Interrupt Priority Register n</description>
          <addressOffset>0x353</addressOffset>
          <size>8</size>
          <access>read-write</access>
          <resetValue>0</resetValue>
          <resetMask>0xFF</resetMask>
          <fields>
            <field>
              <name>PRI83</name>
              <description>Priority of interrupt 83</description>
              <bitOffset>0</bitOffset>
              <bitWidth>8</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>NVICIP84</name>
          <description>Interrupt Priority Register n</description>
          <addressOffset>0x354</addressOffset>
          <size>8</size>
          <access>read-write</access>
          <resetValue>0</resetValue>
          <resetMask>0xFF</resetMask>
          <fields>
            <field>
              <name>PRI84</name>
              <description>Priority of interrupt 84</description>
              <bitOffset>0</bitOffset>
              <bitWidth>8</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>NVICIP85</name>
          <description>Interrupt Priority Register n</description>
          <addressOffset>0x355</addressOffset>
          <size>8</size>
          <access>read-write</access>
          <resetValue>0</resetValue>
          <resetMask>0xFF</resetMask>
          <fields>
            <field>
              <name>PRI85</name>
              <description>Priority of interrupt 85</description>
              <bitOffset>0</bitOffset>
              <bitWidth>8</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>NVICIP86</name>
          <description>Interrupt Priority Register n</description>
          <addressOffset>0x356</addressOffset>
          <size>8</size>
          <access>read-write</access>
          <resetValue>0</resetValue>
          <resetMask>0xFF</resetMask>
          <fields>
            <field>
              <name>PRI86</name>
              <description>Priority of interrupt 86</description>
              <bitOffset>0</bitOffset>
              <bitWidth>8</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>NVICIP87</name>
          <description>Interrupt Priority Register n</description>
          <addressOffset>0x357</addressOffset>
          <size>8</size>
          <access>read-write</access>
          <resetValue>0</resetValue>
          <resetMask>0xFF</resetMask>
          <fields>
            <field>
              <name>PRI87</name>
              <description>Priority of interrupt 87</description>
              <bitOffset>0</bitOffset>
              <bitWidth>8</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>NVICIP88</name>
          <description>Interrupt Priority Register n</description>
          <addressOffset>0x358</addressOffset>
          <size>8</size>
          <access>read-write</access>
          <resetValue>0</resetValue>
          <resetMask>0xFF</resetMask>
          <fields>
            <field>
              <name>PRI88</name>
              <description>Priority of interrupt 88</description>
              <bitOffset>0</bitOffset>
              <bitWidth>8</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>NVICIP89</name>
          <description>Interrupt Priority Register n</description>
          <addressOffset>0x359</addressOffset>
          <size>8</size>
          <access>read-write</access>
          <resetValue>0</resetValue>
          <resetMask>0xFF</resetMask>
          <fields>
            <field>
              <name>PRI89</name>
              <description>Priority of interrupt 89</description>
              <bitOffset>0</bitOffset>
              <bitWidth>8</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>NVICIP90</name>
          <description>Interrupt Priority Register n</description>
          <addressOffset>0x35A</addressOffset>
          <size>8</size>
          <access>read-write</access>
          <resetValue>0</resetValue>
          <resetMask>0xFF</resetMask>
          <fields>
            <field>
              <name>PRI90</name>
              <description>Priority of interrupt 90</description>
              <bitOffset>0</bitOffset>
              <bitWidth>8</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>NVICIP91</name>
          <description>Interrupt Priority Register n</description>
          <addressOffset>0x35B</addressOffset>
          <size>8</size>
          <access>read-write</access>
          <resetValue>0</resetValue>
          <resetMask>0xFF</resetMask>
          <fields>
            <field>
              <name>PRI91</name>
              <description>Priority of interrupt 91</description>
              <bitOffset>0</bitOffset>
              <bitWidth>8</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>NVICIP92</name>
          <description>Interrupt Priority Register n</description>
          <addressOffset>0x35C</addressOffset>
          <size>8</size>
          <access>read-write</access>
          <resetValue>0</resetValue>
          <resetMask>0xFF</resetMask>
          <fields>
            <field>
              <name>PRI92</name>
              <description>Priority of interrupt 92</description>
              <bitOffset>0</bitOffset>
              <bitWidth>8</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>NVICIP93</name>
          <description>Interrupt Priority Register n</description>
          <addressOffset>0x35D</addressOffset>
          <size>8</size>
          <access>read-write</access>
          <resetValue>0</resetValue>
          <resetMask>0xFF</resetMask>
          <fields>
            <field>
              <name>PRI93</name>
              <description>Priority of interrupt 93</description>
              <bitOffset>0</bitOffset>
              <bitWidth>8</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>NVICIP94</name>
          <description>Interrupt Priority Register n</description>
          <addressOffset>0x35E</addressOffset>
          <size>8</size>
          <access>read-write</access>
          <resetValue>0</resetValue>
          <resetMask>0xFF</resetMask>
          <fields>
            <field>
              <name>PRI94</name>
              <description>Priority of interrupt 94</description>
              <bitOffset>0</bitOffset>
              <bitWidth>8</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>NVICIP95</name>
          <description>Interrupt Priority Register n</description>
          <addressOffset>0x35F</addressOffset>
          <size>8</size>
          <access>read-write</access>
          <resetValue>0</resetValue>
          <resetMask>0xFF</resetMask>
          <fields>
            <field>
              <name>PRI95</name>
              <description>Priority of interrupt 95</description>
              <bitOffset>0</bitOffset>
              <bitWidth>8</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>NVICIP96</name>
          <description>Interrupt Priority Register n</description>
          <addressOffset>0x360</addressOffset>
          <size>8</size>
          <access>read-write</access>
          <resetValue>0</resetValue>
          <resetMask>0xFF</resetMask>
          <fields>
            <field>
              <name>PRI96</name>
              <description>Priority of interrupt 96</description>
              <bitOffset>0</bitOffset>
              <bitWidth>8</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>NVICIP97</name>
          <description>Interrupt Priority Register n</description>
          <addressOffset>0x361</addressOffset>
          <size>8</size>
          <access>read-write</access>
          <resetValue>0</resetValue>
          <resetMask>0xFF</resetMask>
          <fields>
            <field>
              <name>PRI97</name>
              <description>Priority of interrupt 97</description>
              <bitOffset>0</bitOffset>
              <bitWidth>8</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>NVICIP98</name>
          <description>Interrupt Priority Register n</description>
          <addressOffset>0x362</addressOffset>
          <size>8</size>
          <access>read-write</access>
          <resetValue>0</resetValue>
          <resetMask>0xFF</resetMask>
          <fields>
            <field>
              <name>PRI98</name>
              <description>Priority of interrupt 98</description>
              <bitOffset>0</bitOffset>
              <bitWidth>8</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>NVICIP99</name>
          <description>Interrupt Priority Register n</description>
          <addressOffset>0x363</addressOffset>
          <size>8</size>
          <access>read-write</access>
          <resetValue>0</resetValue>
          <resetMask>0xFF</resetMask>
          <fields>
            <field>
              <name>PRI99</name>
              <description>Priority of interrupt 99</description>
              <bitOffset>0</bitOffset>
              <bitWidth>8</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>NVICIP100</name>
          <description>Interrupt Priority Register n</description>
          <addressOffset>0x364</addressOffset>
          <size>8</size>
          <access>read-write</access>
          <resetValue>0</resetValue>
          <resetMask>0xFF</resetMask>
          <fields>
            <field>
              <name>PRI100</name>
              <description>Priority of interrupt 100</description>
              <bitOffset>0</bitOffset>
              <bitWidth>8</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>NVICIP101</name>
          <description>Interrupt Priority Register n</description>
          <addressOffset>0x365</addressOffset>
          <size>8</size>
          <access>read-write</access>
          <resetValue>0</resetValue>
          <resetMask>0xFF</resetMask>
          <fields>
            <field>
              <name>PRI101</name>
              <description>Priority of interrupt 101</description>
              <bitOffset>0</bitOffset>
              <bitWidth>8</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>NVICIP102</name>
          <description>Interrupt Priority Register n</description>
          <addressOffset>0x366</addressOffset>
          <size>8</size>
          <access>read-write</access>
          <resetValue>0</resetValue>
          <resetMask>0xFF</resetMask>
          <fields>
            <field>
              <name>PRI102</name>
              <description>Priority of interrupt 102</description>
              <bitOffset>0</bitOffset>
              <bitWidth>8</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>NVICIP103</name>
          <description>Interrupt Priority Register n</description>
          <addressOffset>0x367</addressOffset>
          <size>8</size>
          <access>read-write</access>
          <resetValue>0</resetValue>
          <resetMask>0xFF</resetMask>
          <fields>
            <field>
              <name>PRI103</name>
              <description>Priority of interrupt 103</description>
              <bitOffset>0</bitOffset>
              <bitWidth>8</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>NVICIP104</name>
          <description>Interrupt Priority Register n</description>
          <addressOffset>0x368</addressOffset>
          <size>8</size>
          <access>read-write</access>
          <resetValue>0</resetValue>
          <resetMask>0xFF</resetMask>
          <fields>
            <field>
              <name>PRI104</name>
              <description>Priority of interrupt 104</description>
              <bitOffset>0</bitOffset>
              <bitWidth>8</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>NVICIP105</name>
          <description>Interrupt Priority Register n</description>
          <addressOffset>0x369</addressOffset>
          <size>8</size>
          <access>read-write</access>
          <resetValue>0</resetValue>
          <resetMask>0xFF</resetMask>
          <fields>
            <field>
              <name>PRI105</name>
              <description>Priority of interrupt 105</description>
              <bitOffset>0</bitOffset>
              <bitWidth>8</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>NVICSTIR</name>
          <description>Software Trigger Interrupt Register</description>
          <addressOffset>0xE00</addressOffset>
          <size>32</size>
          <access>read-write</access>
          <resetValue>0</resetValue>
          <resetMask>0xFFFFFFFF</resetMask>
          <fields>
            <field>
              <name>INTID</name>
              <description>Interrupt ID of the interrupt to trigger, in the range 0-239. For example, a value of 0x03 specifies interrupt IRQ3.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>9</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
      </registers>
    </peripheral>
  </peripherals>
</device>