summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--utils/regtools/desc/regs-stmp3600.xml6224
1 files changed, 6224 insertions, 0 deletions
diff --git a/utils/regtools/desc/regs-stmp3600.xml b/utils/regtools/desc/regs-stmp3600.xml
new file mode 100644
index 0000000000..37ae2d79c5
--- /dev/null
+++ b/utils/regtools/desc/regs-stmp3600.xml
@@ -0,0 +1,6224 @@
+<?xml version="1.0"?>
+<!--
+ __________ __ ___.
+ Open \______ \ ____ ____ | | _\_ |__ _______ ___
+ Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ /
+ Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < <
+ Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \
+ \/ \/ \/ \/ \/
+Copyright (C) 2012 by Amaury Pouly
+
+This program is free software; you can redistribute it and/or
+modify it under the terms of the GNU General Public License
+as published by the Free Software Foundation; either version 2
+of the License, or (at your option) any later version.
+
+This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
+KIND, either express or implied.
+-->
+<soc name="stmp3600" desc="STMP3600">
+<dev name="ANATOP" long_name="Analog TOP" desc="Analog TOP" version="2.3.0">
+<addr name="ANATOP" addr="0x8003c200" />
+<reg name="PROBE_OUTPUT_SELECT" sct="yes">
+<addr name="PROBE_OUTPUT_SELECT" addr="0x0" />
+<field name="OUTPUT_SELECT" bitrange="31:0">
+</field>
+</reg>
+<reg name="PROBE_INPUT_SELECT" sct="yes">
+<addr name="PROBE_INPUT_SELECT" addr="0x10" />
+<field name="INPUT_SELECT" bitrange="31:0">
+</field>
+</reg>
+<reg name="PROBE_DATA" sct="yes">
+<addr name="PROBE_DATA" addr="0x20" />
+<field name="DATA" bitrange="31:0">
+</field>
+</reg>
+<reg name="PROBE_DIGTOP_SELECT" sct="yes">
+<addr name="PROBE_DIGTOP_SELECT" addr="0x30" />
+<field name="DIGTOP_SELECT" bitrange="31:0">
+</field>
+</reg>
+</dev>
+<dev name="APBH" long_name="APHB DMA" desc="AHB-to-APBH Bridge with DMA" version="2.4.0">
+<addr name="APBH" addr="0x80004000" />
+<reg name="CTRL0" sct="yes">
+<addr name="CTRL0" addr="0x0" />
+<field name="SFTRST" bitrange="31:31">
+</field>
+<field name="CLKGATE" bitrange="30:30">
+</field>
+<field name="RESET_CHANNEL" bitrange="23:16">
+<value name="HWECC" value="0x1">
+</value>
+<value name="SSP" value="0x2">
+</value>
+<value name="SRC" value="0x4">
+</value>
+<value name="DEST" value="0x8">
+</value>
+<value name="ATA" value="0x10">
+</value>
+<value name="NAND0" value="0x10">
+</value>
+<value name="NAND1" value="0x20">
+</value>
+<value name="NAND2" value="0x30">
+</value>
+<value name="NAND3" value="0x40">
+</value>
+</field>
+<field name="CLKGATE_CHANNEL" bitrange="15:8">
+<value name="HWECC" value="0x1">
+</value>
+<value name="SSP" value="0x2">
+</value>
+<value name="SRC" value="0x4">
+</value>
+<value name="DEST" value="0x8">
+</value>
+<value name="ATA" value="0x10">
+</value>
+<value name="NAND0" value="0x10">
+</value>
+<value name="NAND1" value="0x20">
+</value>
+<value name="NAND2" value="0x30">
+</value>
+<value name="NAND3" value="0x40">
+</value>
+</field>
+<field name="FREEZE_CHANNEL" bitrange="7:0">
+<value name="HWECC" value="0x1">
+</value>
+<value name="SSP" value="0x2">
+</value>
+<value name="SRC" value="0x4">
+</value>
+<value name="DEST" value="0x8">
+</value>
+<value name="ATA" value="0x10">
+</value>
+<value name="NAND0" value="0x10">
+</value>
+<value name="NAND1" value="0x20">
+</value>
+<value name="NAND2" value="0x30">
+</value>
+<value name="NAND3" value="0x40">
+</value>
+</field>
+</reg>
+<reg name="CTRL1" sct="yes">
+<addr name="CTRL1" addr="0x10" />
+<field name="CH_CMDCMPLT_IRQ_EN" bitrange="23:16">
+</field>
+<field name="CH_CMDCMPLT_IRQ" bitrange="7:0">
+</field>
+</reg>
+<reg name="DEVSEL" sct="no">
+<addr name="DEVSEL" addr="0x20" />
+<field name="CH7" bitrange="31:28">
+</field>
+<field name="CH6" bitrange="27:24">
+</field>
+<field name="CH5" bitrange="23:20">
+</field>
+<field name="CH4" bitrange="19:16">
+</field>
+<field name="CH3" bitrange="15:12">
+</field>
+<field name="CH2" bitrange="11:8">
+</field>
+<field name="CH1" bitrange="7:4">
+</field>
+<field name="CH0" bitrange="3:0">
+</field>
+</reg>
+<reg name="CHn_DEBUG2" sct="no">
+<formula string="0x90+n*0x70"/>
+<addr name="CH0_DEBUG2" addr="0x90" />
+<addr name="CH1_DEBUG2" addr="0x100" />
+<addr name="CH2_DEBUG2" addr="0x170" />
+<addr name="CH3_DEBUG2" addr="0x1e0" />
+<addr name="CH4_DEBUG2" addr="0x250" />
+<addr name="CH5_DEBUG2" addr="0x2c0" />
+<addr name="CH6_DEBUG2" addr="0x330" />
+<addr name="CH7_DEBUG2" addr="0x3a0" />
+<field name="APB_BYTES" bitrange="31:16">
+</field>
+<field name="AHB_BYTES" bitrange="15:0">
+</field>
+</reg>
+<reg name="CHn_CURCMDAR" sct="no">
+<formula string="0x30+n*0x70"/>
+<addr name="CH0_CURCMDAR" addr="0x30" />
+<addr name="CH1_CURCMDAR" addr="0xa0" />
+<addr name="CH2_CURCMDAR" addr="0x110" />
+<addr name="CH3_CURCMDAR" addr="0x180" />
+<addr name="CH4_CURCMDAR" addr="0x1f0" />
+<addr name="CH5_CURCMDAR" addr="0x260" />
+<addr name="CH6_CURCMDAR" addr="0x2d0" />
+<addr name="CH7_CURCMDAR" addr="0x340" />
+<field name="CMD_ADDR" bitrange="31:0">
+</field>
+</reg>
+<reg name="CHn_BAR" sct="no">
+<formula string="0x60+n*0x70"/>
+<addr name="CH0_BAR" addr="0x60" />
+<addr name="CH1_BAR" addr="0xd0" />
+<addr name="CH2_BAR" addr="0x140" />
+<addr name="CH3_BAR" addr="0x1b0" />
+<addr name="CH4_BAR" addr="0x220" />
+<addr name="CH5_BAR" addr="0x290" />
+<addr name="CH6_BAR" addr="0x300" />
+<addr name="CH7_BAR" addr="0x370" />
+<field name="ADDRESS" bitrange="31:0">
+</field>
+</reg>
+<reg name="CHn_CMD" sct="no">
+<formula string="0x50+n*0x70"/>
+<addr name="CH0_CMD" addr="0x50" />
+<addr name="CH1_CMD" addr="0xc0" />
+<addr name="CH2_CMD" addr="0x130" />
+<addr name="CH3_CMD" addr="0x1a0" />
+<addr name="CH4_CMD" addr="0x210" />
+<addr name="CH5_CMD" addr="0x280" />
+<addr name="CH6_CMD" addr="0x2f0" />
+<addr name="CH7_CMD" addr="0x360" />
+<field name="XFER_COUNT" bitrange="31:16">
+</field>
+<field name="CMDWORDS" bitrange="15:12">
+</field>
+<field name="WAIT4ENDCMD" bitrange="7:7">
+</field>
+<field name="SEMAPHORE" bitrange="6:6">
+</field>
+<field name="NANDWAIT4READY" bitrange="5:5">
+</field>
+<field name="NANDLOCK" bitrange="4:4">
+</field>
+<field name="IRQONCMPLT" bitrange="3:3">
+</field>
+<field name="CHAIN" bitrange="2:2">
+</field>
+<field name="COMMAND" bitrange="1:0">
+<value name="NO_DMA_XFER" value="0x0">
+</value>
+<value name="DMA_WRITE" value="0x1">
+</value>
+<value name="DMA_READ" value="0x2">
+</value>
+<value name="DMA_SENSE" value="0x3">
+</value>
+</field>
+</reg>
+<reg name="CHn_NXTCMDAR" sct="no">
+<formula string="0x40+n*0x70"/>
+<addr name="CH0_NXTCMDAR" addr="0x40" />
+<addr name="CH1_NXTCMDAR" addr="0xb0" />
+<addr name="CH2_NXTCMDAR" addr="0x120" />
+<addr name="CH3_NXTCMDAR" addr="0x190" />
+<addr name="CH4_NXTCMDAR" addr="0x200" />
+<addr name="CH5_NXTCMDAR" addr="0x270" />
+<addr name="CH6_NXTCMDAR" addr="0x2e0" />
+<addr name="CH7_NXTCMDAR" addr="0x350" />
+<field name="CMD_ADDR" bitrange="31:0">
+</field>
+</reg>
+<reg name="CHn_SEMA" sct="no">
+<formula string="0x70+n*0x70"/>
+<addr name="CH0_SEMA" addr="0x70" />
+<addr name="CH1_SEMA" addr="0xe0" />
+<addr name="CH2_SEMA" addr="0x150" />
+<addr name="CH3_SEMA" addr="0x1c0" />
+<addr name="CH4_SEMA" addr="0x230" />
+<addr name="CH5_SEMA" addr="0x2a0" />
+<addr name="CH6_SEMA" addr="0x310" />
+<addr name="CH7_SEMA" addr="0x380" />
+<field name="PHORE" bitrange="23:16">
+</field>
+<field name="INCREMENT_SEMA" bitrange="7:0">
+</field>
+</reg>
+<reg name="CHn_DEBUG1" sct="no">
+<formula string="0x80+n*0x70"/>
+<addr name="CH0_DEBUG1" addr="0x80" />
+<addr name="CH1_DEBUG1" addr="0xf0" />
+<addr name="CH2_DEBUG1" addr="0x160" />
+<addr name="CH3_DEBUG1" addr="0x1d0" />
+<addr name="CH4_DEBUG1" addr="0x240" />
+<addr name="CH5_DEBUG1" addr="0x2b0" />
+<addr name="CH6_DEBUG1" addr="0x320" />
+<addr name="CH7_DEBUG1" addr="0x390" />
+<field name="REQ" bitrange="31:31">
+</field>
+<field name="BURST" bitrange="30:30">
+</field>
+<field name="KICK" bitrange="29:29">
+</field>
+<field name="END" bitrange="28:28">
+</field>
+<field name="RSVD2" bitrange="27:25">
+</field>
+<field name="NEXTCMDADDRVALID" bitrange="24:24">
+</field>
+<field name="RD_FIFO_EMPTY" bitrange="23:23">
+</field>
+<field name="RD_FIFO_FULL" bitrange="22:22">
+</field>
+<field name="WR_FIFO_EMPTY" bitrange="21:21">
+</field>
+<field name="WR_FIFO_FULL" bitrange="20:20">
+</field>
+<field name="RSVD1" bitrange="19:5">
+</field>
+<field name="STATEMACHINE" bitrange="4:0">
+<value name="IDLE" value="0x0">
+</value>
+<value name="REQ_CMD1" value="0x1">
+</value>
+<value name="REQ_CMD3" value="0x2">
+</value>
+<value name="REQ_CMD2" value="0x3">
+</value>
+<value name="XFER_DECODE" value="0x4">
+</value>
+<value name="REQ_WAIT" value="0x5">
+</value>
+<value name="REQ_CMD4" value="0x6">
+</value>
+<value name="PIO_REQ" value="0x7">
+</value>
+<value name="READ_FLUSH" value="0x8">
+</value>
+<value name="READ_WAIT" value="0x9">
+</value>
+<value name="WRITE" value="0xc">
+</value>
+<value name="READ_REQ" value="0xd">
+</value>
+<value name="CHECK_CHAIN" value="0xe">
+</value>
+<value name="XFER_COMPLETE" value="0xf">
+</value>
+<value name="WAIT_END" value="0x15">
+</value>
+<value name="WRITE_WAIT" value="0x1c">
+</value>
+<value name="CHECK_WAIT" value="0x1e">
+</value>
+</field>
+</reg>
+</dev>
+<dev name="APBX" long_name="APHX DMA" desc="AHB-to-APBX Bridge with DMA" version="2.4.0">
+<addr name="APBX" addr="0x80024000" />
+<reg name="CTRL0" sct="yes">
+<addr name="CTRL0" addr="0x0" />
+<field name="SFTRST" bitrange="31:31">
+</field>
+<field name="CLKGATE" bitrange="30:30">
+</field>
+<field name="RESET_CHANNEL" bitrange="23:16">
+<value name="AUDIOIN" value="0x1">
+</value>
+<value name="AUDIOOUT" value="0x2">
+</value>
+<value name="SPDIF_TX" value="0x4">
+</value>
+<value name="I2C" value="0x8">
+</value>
+<value name="LCDIF" value="0x10">
+</value>
+<value name="DRI" value="0x20">
+</value>
+<value name="UART_RX" value="0x30">
+</value>
+<value name="IRDA_RX" value="0x30">
+</value>
+<value name="UART_TX" value="0x40">
+</value>
+<value name="IRDA_TX" value="0x40">
+</value>
+</field>
+<field name="FREEZE_CHANNEL" bitrange="7:0">
+<value name="AUDIOIN" value="0x1">
+</value>
+<value name="AUDIOOUT" value="0x2">
+</value>
+<value name="SPDIF_TX" value="0x4">
+</value>
+<value name="I2C" value="0x8">
+</value>
+<value name="LCDIF" value="0x10">
+</value>
+<value name="DRI" value="0x20">
+</value>
+<value name="UART_RX" value="0x30">
+</value>
+<value name="IRDA_RX" value="0x30">
+</value>
+<value name="UART_TX" value="0x40">
+</value>
+<value name="IRDA_TX" value="0x40">
+</value>
+</field>
+</reg>
+<reg name="CTRL1" sct="yes">
+<addr name="CTRL1" addr="0x10" />
+<field name="CH_CMDCMPLT_IRQ_EN" bitrange="23:16">
+</field>
+<field name="CH_CMDCMPLT_IRQ" bitrange="7:0">
+</field>
+</reg>
+<reg name="DEVSEL" sct="no">
+<addr name="DEVSEL" addr="0x20" />
+<field name="CH7" bitrange="31:28">
+<value name="USE_UART" value="0x0">
+</value>
+<value name="USE_IRDA" value="0x1">
+</value>
+</field>
+<field name="CH6" bitrange="27:24">
+<value name="USE_UART" value="0x0">
+</value>
+<value name="USE_IRDA" value="0x1">
+</value>
+</field>
+<field name="CH5" bitrange="23:20">
+</field>
+<field name="CH4" bitrange="19:16">
+</field>
+<field name="CH3" bitrange="15:12">
+</field>
+<field name="CH2" bitrange="11:8">
+</field>
+<field name="CH1" bitrange="7:4">
+</field>
+<field name="CH0" bitrange="3:0">
+</field>
+</reg>
+<reg name="CHn_NXTCMDAR" sct="no">
+<formula string="0x40+n*0x70"/>
+<addr name="CH0_NXTCMDAR" addr="0x40" />
+<addr name="CH1_NXTCMDAR" addr="0xb0" />
+<addr name="CH2_NXTCMDAR" addr="0x120" />
+<addr name="CH3_NXTCMDAR" addr="0x190" />
+<addr name="CH4_NXTCMDAR" addr="0x200" />
+<addr name="CH5_NXTCMDAR" addr="0x270" />
+<addr name="CH6_NXTCMDAR" addr="0x2e0" />
+<addr name="CH7_NXTCMDAR" addr="0x350" />
+<field name="CMD_ADDR" bitrange="31:0">
+</field>
+</reg>
+<reg name="CHn_DEBUG2" sct="no">
+<formula string="0x90+n*0x70"/>
+<addr name="CH0_DEBUG2" addr="0x90" />
+<addr name="CH1_DEBUG2" addr="0x100" />
+<addr name="CH2_DEBUG2" addr="0x170" />
+<addr name="CH3_DEBUG2" addr="0x1e0" />
+<addr name="CH4_DEBUG2" addr="0x250" />
+<addr name="CH5_DEBUG2" addr="0x2c0" />
+<addr name="CH6_DEBUG2" addr="0x330" />
+<addr name="CH7_DEBUG2" addr="0x3a0" />
+<field name="APB_BYTES" bitrange="31:16">
+</field>
+<field name="AHB_BYTES" bitrange="15:0">
+</field>
+</reg>
+<reg name="CHn_BAR" sct="no">
+<formula string="0x60+n*0x70"/>
+<addr name="CH0_BAR" addr="0x60" />
+<addr name="CH1_BAR" addr="0xd0" />
+<addr name="CH2_BAR" addr="0x140" />
+<addr name="CH3_BAR" addr="0x1b0" />
+<addr name="CH4_BAR" addr="0x220" />
+<addr name="CH5_BAR" addr="0x290" />
+<addr name="CH6_BAR" addr="0x300" />
+<addr name="CH7_BAR" addr="0x370" />
+<field name="ADDRESS" bitrange="31:0">
+</field>
+</reg>
+<reg name="CHn_CMD" sct="no">
+<formula string="0x50+n*0x70"/>
+<addr name="CH0_CMD" addr="0x50" />
+<addr name="CH1_CMD" addr="0xc0" />
+<addr name="CH2_CMD" addr="0x130" />
+<addr name="CH3_CMD" addr="0x1a0" />
+<addr name="CH4_CMD" addr="0x210" />
+<addr name="CH5_CMD" addr="0x280" />
+<addr name="CH6_CMD" addr="0x2f0" />
+<addr name="CH7_CMD" addr="0x360" />
+<field name="XFER_COUNT" bitrange="31:16">
+</field>
+<field name="CMDWORDS" bitrange="15:12">
+</field>
+<field name="WAIT4ENDCMD" bitrange="7:7">
+</field>
+<field name="SEMAPHORE" bitrange="6:6">
+</field>
+<field name="IRQONCMPLT" bitrange="3:3">
+</field>
+<field name="CHAIN" bitrange="2:2">
+</field>
+<field name="COMMAND" bitrange="1:0">
+<value name="NO_DMA_XFER" value="0x0">
+</value>
+<value name="DMA_WRITE" value="0x1">
+</value>
+<value name="DMA_READ" value="0x2">
+</value>
+</field>
+</reg>
+<reg name="CHn_DEBUG1" sct="no">
+<formula string="0x80+n*0x70"/>
+<addr name="CH0_DEBUG1" addr="0x80" />
+<addr name="CH1_DEBUG1" addr="0xf0" />
+<addr name="CH2_DEBUG1" addr="0x160" />
+<addr name="CH3_DEBUG1" addr="0x1d0" />
+<addr name="CH4_DEBUG1" addr="0x240" />
+<addr name="CH5_DEBUG1" addr="0x2b0" />
+<addr name="CH6_DEBUG1" addr="0x320" />
+<addr name="CH7_DEBUG1" addr="0x390" />
+<field name="REQ" bitrange="31:31">
+</field>
+<field name="BURST" bitrange="30:30">
+</field>
+<field name="KICK" bitrange="29:29">
+</field>
+<field name="END" bitrange="28:28">
+</field>
+<field name="RSVD2" bitrange="27:25">
+</field>
+<field name="NEXTCMDADDRVALID" bitrange="24:24">
+</field>
+<field name="RD_FIFO_EMPTY" bitrange="23:23">
+</field>
+<field name="RD_FIFO_FULL" bitrange="22:22">
+</field>
+<field name="WR_FIFO_EMPTY" bitrange="21:21">
+</field>
+<field name="WR_FIFO_FULL" bitrange="20:20">
+</field>
+<field name="RSVD1" bitrange="19:5">
+</field>
+<field name="STATEMACHINE" bitrange="4:0">
+<value name="IDLE" value="0x0">
+</value>
+<value name="REQ_CMD1" value="0x1">
+</value>
+<value name="REQ_CMD3" value="0x2">
+</value>
+<value name="REQ_CMD2" value="0x3">
+</value>
+<value name="XFER_DECODE" value="0x4">
+</value>
+<value name="REQ_WAIT" value="0x5">
+</value>
+<value name="REQ_CMD4" value="0x6">
+</value>
+<value name="PIO_REQ" value="0x7">
+</value>
+<value name="READ_FLUSH" value="0x8">
+</value>
+<value name="READ_WAIT" value="0x9">
+</value>
+<value name="WRITE" value="0xc">
+</value>
+<value name="READ_REQ" value="0xd">
+</value>
+<value name="CHECK_CHAIN" value="0xe">
+</value>
+<value name="XFER_COMPLETE" value="0xf">
+</value>
+<value name="WAIT_END" value="0x15">
+</value>
+<value name="WRITE_WAIT" value="0x1c">
+</value>
+<value name="CHECK_WAIT" value="0x1e">
+</value>
+</field>
+</reg>
+<reg name="CHn_SEMA" sct="no">
+<formula string="0x70+n*0x70"/>
+<addr name="CH0_SEMA" addr="0x70" />
+<addr name="CH1_SEMA" addr="0xe0" />
+<addr name="CH2_SEMA" addr="0x150" />
+<addr name="CH3_SEMA" addr="0x1c0" />
+<addr name="CH4_SEMA" addr="0x230" />
+<addr name="CH5_SEMA" addr="0x2a0" />
+<addr name="CH6_SEMA" addr="0x310" />
+<addr name="CH7_SEMA" addr="0x380" />
+<field name="PHORE" bitrange="23:16">
+</field>
+<field name="INCREMENT_SEMA" bitrange="7:0">
+</field>
+</reg>
+<reg name="CHn_CURCMDAR" sct="no">
+<formula string="0x30+n*0x70"/>
+<addr name="CH0_CURCMDAR" addr="0x30" />
+<addr name="CH1_CURCMDAR" addr="0xa0" />
+<addr name="CH2_CURCMDAR" addr="0x110" />
+<addr name="CH3_CURCMDAR" addr="0x180" />
+<addr name="CH4_CURCMDAR" addr="0x1f0" />
+<addr name="CH5_CURCMDAR" addr="0x260" />
+<addr name="CH6_CURCMDAR" addr="0x2d0" />
+<addr name="CH7_CURCMDAR" addr="0x340" />
+<field name="CMD_ADDR" bitrange="31:0">
+</field>
+</reg>
+</dev>
+<dev name="AUDIOIN" long_name="AUDIOIN/ADC" desc="Digital Audio Filter Input" version="2.5.0">
+<addr name="AUDIOIN" addr="0x8004c000" />
+<reg name="CTRL" sct="yes">
+<addr name="CTRL" addr="0x0" />
+<field name="SFTRST" bitrange="31:31">
+</field>
+<field name="CLKGATE" bitrange="30:30">
+</field>
+<field name="DMAWAIT_COUNT" bitrange="20:16">
+</field>
+<field name="LR_SWAP" bitrange="10:10">
+</field>
+<field name="EDGE_SYNC" bitrange="9:9">
+</field>
+<field name="INVERT_1BIT" bitrange="8:8">
+</field>
+<field name="OFFSET_ENABLE" bitrange="7:7">
+</field>
+<field name="HPF_ENABLE" bitrange="6:6">
+</field>
+<field name="WORD_LENGTH" bitrange="5:5">
+</field>
+<field name="LOOPBACK" bitrange="4:4">
+</field>
+<field name="FIFO_UNDERFLOW_IRQ" bitrange="3:3">
+</field>
+<field name="FIFO_OVERFLOW_IRQ" bitrange="2:2">
+</field>
+<field name="FIFO_ERROR_IRQ_EN" bitrange="1:1">
+</field>
+<field name="RUN" bitrange="0:0">
+</field>
+</reg>
+<reg name="STAT" sct="no">
+<addr name="STAT" addr="0x10" />
+<field name="ADC_PRESENT" bitrange="31:31">
+</field>
+</reg>
+<reg name="ADCSRR" sct="yes">
+<addr name="ADCSRR" addr="0x20" />
+<field name="OSR" bitrange="31:31">
+<value name="OSR6" value="0x0">
+</value>
+<value name="OSR12" value="0x1">
+</value>
+</field>
+<field name="BASEMULT" bitrange="30:28">
+<value name="SINGLE_RATE" value="0x1">
+</value>
+<value name="DOUBLE_RATE" value="0x2">
+</value>
+<value name="QUAD_RATE" value="0x4">
+</value>
+</field>
+<field name="SRC_HOLD" bitrange="26:24">
+</field>
+<field name="SRC_INT" bitrange="20:16">
+</field>
+<field name="SRC_FRAC" bitrange="12:0">
+</field>
+</reg>
+<reg name="ADCVOLUME" sct="yes">
+<addr name="ADCVOLUME" addr="0x30" />
+<field name="VOLUME_UPDATE_LEFT" bitrange="28:28">
+</field>
+<field name="EN_ZCD" bitrange="25:25">
+</field>
+<field name="VOLUME_LEFT" bitrange="23:16">
+</field>
+<field name="VOLUME_UPDATE_RIGHT" bitrange="12:12">
+</field>
+<field name="VOLUME_RIGHT" bitrange="7:0">
+</field>
+</reg>
+<reg name="ADCDEBUG" sct="yes">
+<addr name="ADCDEBUG" addr="0x40" />
+<field name="ENABLE_ADCDMA" bitrange="31:31">
+</field>
+<field name="ADC_DMA_REQ_HAND_SHAKE_CLK_CROSS" bitrange="3:3">
+</field>
+<field name="SET_INTERRUPT3_HAND_SHAKE" bitrange="2:2">
+</field>
+<field name="DMA_PREQ" bitrange="1:1">
+</field>
+<field name="FIFO_STATUS" bitrange="0:0">
+</field>
+</reg>
+<reg name="ADCVOL" sct="yes">
+<addr name="ADCVOL" addr="0x50" />
+<field name="SELECT_LEFT" bitrange="29:28">
+</field>
+<field name="SELECT_RIGHT" bitrange="25:24">
+</field>
+<field name="MUTE" bitrange="8:8">
+</field>
+<field name="GAIN_LEFT" bitrange="7:4">
+</field>
+<field name="GAIN_RIGHT" bitrange="3:0">
+</field>
+</reg>
+<reg name="MICLINE" sct="yes">
+<addr name="MICLINE" addr="0x60" />
+<field name="ATTEN_LINE" bitrange="30:30">
+</field>
+<field name="DIVIDE_LINE1" bitrange="29:29">
+</field>
+<field name="DIVIDE_LINE2" bitrange="28:28">
+</field>
+<field name="MIC_SELECT" bitrange="24:24">
+</field>
+<field name="MIC_RESISTOR" bitrange="21:20">
+<value name="Off" value="0x0">
+</value>
+<value name="2KOhm" value="0x1">
+</value>
+<value name="4KOhm" value="0x2">
+</value>
+<value name="8KOhm" value="0x3">
+</value>
+</field>
+<field name="MIC_BIAS" bitrange="18:16">
+</field>
+<field name="FORCE_MICAMP_PWRUP" bitrange="8:8">
+</field>
+<field name="MIC_GAIN" bitrange="1:0">
+<value name="0dB" value="0x0">
+</value>
+<value name="20dB" value="0x1">
+</value>
+<value name="30dB" value="0x2">
+</value>
+<value name="40dB" value="0x3">
+</value>
+</field>
+</reg>
+<reg name="ANACLKCTRL" sct="yes">
+<addr name="ANACLKCTRL" addr="0x70" />
+<field name="CLKGATE" bitrange="31:31">
+</field>
+<field name="DITHER_ENABLE" bitrange="6:6">
+</field>
+<field name="SLOW_DITHER" bitrange="5:5">
+</field>
+<field name="INVERT_ADCCLK" bitrange="4:4">
+</field>
+<field name="ADCDIV" bitrange="2:0">
+</field>
+</reg>
+<reg name="DATA" sct="no">
+<addr name="DATA" addr="0x80" />
+<field name="HIGH" bitrange="31:16">
+</field>
+<field name="LOW" bitrange="15:0">
+</field>
+</reg>
+</dev>
+<dev name="AUDIOOUT" long_name="AUDIOOUT/DAC" desc="Digital Audio Filter Output" version="2.3.0">
+<addr name="AUDIOOUT" addr="0x80048000" />
+<reg name="CTRL" sct="yes">
+<addr name="CTRL" addr="0x0" />
+<field name="SFTRST" bitrange="31:31">
+</field>
+<field name="CLKGATE" bitrange="30:30">
+</field>
+<field name="DMAWAIT_COUNT" bitrange="20:16">
+</field>
+<field name="LR_SWAP" bitrange="14:14">
+</field>
+<field name="EDGE_SYNC" bitrange="13:13">
+</field>
+<field name="INVERT_1BIT" bitrange="12:12">
+</field>
+<field name="SS3D_EFFECT" bitrange="9:8">
+</field>
+<field name="WORD_LENGTH" bitrange="6:6">
+</field>
+<field name="DAC_ZERO_ENABLE" bitrange="5:5">
+</field>
+<field name="LOOPBACK" bitrange="4:4">
+</field>
+<field name="FIFO_UNDERFLOW_IRQ" bitrange="3:3">
+</field>
+<field name="FIFO_OVERFLOW_IRQ" bitrange="2:2">
+</field>
+<field name="FIFO_ERROR_IRQ_EN" bitrange="1:1">
+</field>
+<field name="RUN" bitrange="0:0">
+</field>
+</reg>
+<reg name="STAT" sct="no">
+<addr name="STAT" addr="0x10" />
+<field name="DAC_PRESENT" bitrange="31:31">
+</field>
+</reg>
+<reg name="DACSRR" sct="yes">
+<addr name="DACSRR" addr="0x20" />
+<field name="OSR" bitrange="31:31">
+<value name="OSR6" value="0x0">
+</value>
+<value name="OSR12" value="0x1">
+</value>
+</field>
+<field name="BASEMULT" bitrange="30:28">
+<value name="SINGLE_RATE" value="0x1">
+</value>
+<value name="DOUBLE_RATE" value="0x2">
+</value>
+<value name="QUAD_RATE" value="0x4">
+</value>
+</field>
+<field name="SRC_HOLD" bitrange="26:24">
+</field>
+<field name="SRC_INT" bitrange="20:16">
+</field>
+<field name="SRC_FRAC" bitrange="12:0">
+</field>
+</reg>
+<reg name="DACVOLUME" sct="yes">
+<addr name="DACVOLUME" addr="0x30" />
+<field name="VOLUME_UPDATE_LEFT" bitrange="28:28">
+</field>
+<field name="EN_ZCD" bitrange="25:25">
+</field>
+<field name="MUTE_LEFT" bitrange="24:24">
+</field>
+<field name="VOLUME_LEFT" bitrange="23:16">
+</field>
+<field name="VOLUME_UPDATE_RIGHT" bitrange="12:12">
+</field>
+<field name="MUTE_RIGHT" bitrange="8:8">
+</field>
+<field name="VOLUME_RIGHT" bitrange="7:0">
+</field>
+</reg>
+<reg name="DACDEBUG" sct="yes">
+<addr name="DACDEBUG" addr="0x40" />
+<field name="ENABLE_DACDMA" bitrange="31:31">
+</field>
+<field name="SET_INTERRUPT1_CLK_CROSS" bitrange="5:5">
+</field>
+<field name="SET_INTERRUPT0_CLK_CROSS" bitrange="4:4">
+</field>
+<field name="SET_INTERRUPT1_HAND_SHAKE" bitrange="3:3">
+</field>
+<field name="SET_INTERRUPT0_HAND_SHAKE" bitrange="2:2">
+</field>
+<field name="DMA_PREQ" bitrange="1:1">
+</field>
+<field name="FIFO_STATUS" bitrange="0:0">
+</field>
+</reg>
+<reg name="HPVOL" sct="yes">
+<addr name="HPVOL" addr="0x50" />
+<field name="SELECT" bitrange="25:24">
+</field>
+<field name="MUTE" bitrange="16:16">
+</field>
+<field name="VOL_LEFT" bitrange="12:8">
+</field>
+<field name="VOL_RIGHT" bitrange="4:0">
+</field>
+</reg>
+<reg name="SPKRVOL" sct="yes">
+<addr name="SPKRVOL" addr="0x60" />
+<field name="MUTE" bitrange="16:16">
+</field>
+<field name="VOL" bitrange="3:0">
+</field>
+</reg>
+<reg name="PWRDN" sct="yes">
+<addr name="PWRDN" addr="0x70" />
+<field name="SPEAKER" bitrange="24:24">
+</field>
+<field name="SELFBIAS" bitrange="20:20">
+</field>
+<field name="RIGHT_ADC" bitrange="16:16">
+</field>
+<field name="DAC" bitrange="12:12">
+</field>
+<field name="ADC" bitrange="8:8">
+</field>
+<field name="CAPLESS" bitrange="4:4">
+</field>
+<field name="HEADPHONE" bitrange="0:0">
+</field>
+</reg>
+<reg name="REFCTRL" sct="yes">
+<addr name="REFCTRL" addr="0x80" />
+<field name="XTAL_BGR_BIAS" bitrange="24:24">
+</field>
+<field name="VBG_ADJ" bitrange="22:20">
+</field>
+<field name="LOW_PWR" bitrange="19:19">
+</field>
+<field name="LW_REF" bitrange="18:18">
+</field>
+<field name="BIAS_CTRL" bitrange="17:16">
+</field>
+<field name="ADJ_ADC" bitrange="13:13">
+</field>
+<field name="ADJ_VAG" bitrange="12:12">
+</field>
+<field name="ADC_REFVAL" bitrange="11:8">
+</field>
+<field name="VAG_VAL" bitrange="7:4">
+</field>
+<field name="DAC_ADJ" bitrange="2:0">
+</field>
+</reg>
+<reg name="ANACTRL" sct="yes">
+<addr name="ANACTRL" addr="0x90" />
+<field name="SHORT_CM_STS" bitrange="28:28">
+</field>
+<field name="SHORT_LR_STS" bitrange="24:24">
+</field>
+<field name="SHORTMODE_CM" bitrange="21:20">
+</field>
+<field name="SHORTMODE_LR" bitrange="18:17">
+</field>
+<field name="SHORT_LVLADJL" bitrange="14:12">
+</field>
+<field name="SHORT_LVLADJR" bitrange="10:8">
+</field>
+<field name="HP_HOLD_GND" bitrange="5:5">
+</field>
+<field name="HP_CLASSAB" bitrange="4:4">
+</field>
+<field name="EN_SPKR_ZCD" bitrange="2:2">
+</field>
+<field name="ZCD_SELECTADC" bitrange="1:1">
+</field>
+<field name="EN_ZCD" bitrange="0:0">
+</field>
+</reg>
+<reg name="TEST" sct="yes">
+<addr name="TEST" addr="0xa0" />
+<field name="HP_ANTIPOP" bitrange="30:28">
+</field>
+<field name="TM_ADCIN_TOHP" bitrange="26:26">
+</field>
+<field name="TM_SPEAKER" bitrange="25:25">
+</field>
+<field name="TM_HPCOMMON" bitrange="24:24">
+</field>
+<field name="HP_I1_ADJ" bitrange="23:22">
+</field>
+<field name="HP_IALL_ADJ" bitrange="21:20">
+</field>
+<field name="SPKR_I1_ADJ" bitrange="19:18">
+</field>
+<field name="SPKR_IALL_ADJ" bitrange="17:16">
+</field>
+<field name="VAG_CLASSA" bitrange="13:13">
+</field>
+<field name="VAG_DOUBLE_I" bitrange="12:12">
+</field>
+<field name="HP_CHOPCLK" bitrange="9:8">
+</field>
+<field name="DAC_CHOPCLK" bitrange="5:4">
+</field>
+<field name="DAC_CLASSA" bitrange="2:2">
+</field>
+<field name="DAC_DOUBLE_I" bitrange="1:1">
+</field>
+<field name="DAC_DIS_RTZ" bitrange="0:0">
+</field>
+</reg>
+<reg name="BISTCTRL" sct="yes">
+<addr name="BISTCTRL" addr="0xb0" />
+<field name="FAIL" bitrange="3:3">
+</field>
+<field name="PASS" bitrange="2:2">
+</field>
+<field name="DONE" bitrange="1:1">
+</field>
+<field name="START" bitrange="0:0">
+</field>
+</reg>
+<reg name="BISTSTAT0" sct="no">
+<addr name="BISTSTAT0" addr="0xc0" />
+<field name="DATA" bitrange="23:0">
+</field>
+</reg>
+<reg name="BISTSTAT1" sct="no">
+<addr name="BISTSTAT1" addr="0xd0" />
+<field name="STATE" bitrange="28:24">
+</field>
+<field name="ADDR" bitrange="7:0">
+</field>
+</reg>
+<reg name="ANACLKCTRL" sct="yes">
+<addr name="ANACLKCTRL" addr="0xe0" />
+<field name="CLKGATE" bitrange="31:31">
+</field>
+<field name="INVERT_DACCLK" bitrange="4:4">
+</field>
+<field name="DACDIV" bitrange="2:0">
+</field>
+</reg>
+<reg name="DATA" sct="yes">
+<addr name="DATA" addr="0xf0" />
+<field name="HIGH" bitrange="31:16">
+</field>
+<field name="LOW" bitrange="15:0">
+</field>
+</reg>
+</dev>
+<dev name="BRAZOIOCSR" long_name="BRAZO IO" desc="BRAZO PIO Control" version="2.3.0">
+<addr name="BRAZOIOCSR" addr="0x80038000" />
+<field name="ROBECFG_B" bitrange="31:24">
+</field>
+<field name="ROBECFG" bitrange="23:16">
+</field>
+<field name="LOCKDIV" bitrange="15:12">
+</field>
+<field name="WRUP5V" bitrange="9:9">
+</field>
+<field name="WRUP3_3V" bitrange="8:8">
+</field>
+<field name="EMAP" bitrange="0:0">
+</field>
+</dev>
+<dev name="CLKCTRL" long_name="Clock Controller" desc="Clock Generation and Control" version="2.4.0">
+<addr name="CLKCTRL" addr="0x80040000" />
+<reg name="PLLCTRL0" sct="yes">
+<addr name="PLLCTRL0" addr="0x0" />
+<field name="PLLVCOKSTART" bitrange="30:30">
+</field>
+<field name="PLLCPSHORTLFR" bitrange="29:29">
+</field>
+<field name="PLLCPDBLIP" bitrange="28:28">
+</field>
+<field name="PLLCPNSEL" bitrange="26:24">
+<value name="DEFAULT" value="0x0">
+</value>
+<value name="TIMES_15" value="0x2">
+</value>
+<value name="TIMES_075" value="0x3">
+</value>
+<value name="TIMES_05" value="0x4">
+</value>
+<value name="TIMES_04" value="0x7">
+</value>
+</field>
+<field name="PLLV2ISEL" bitrange="21:20">
+<value name="NORMAL" value="0x0">
+</value>
+<value name="LOWER" value="0x1">
+</value>
+<value name="LOWEST" value="0x2">
+</value>
+<value name="HIGHEST" value="0x3">
+</value>
+</field>
+<field name="FORCE_FREQ" bitrange="19:19">
+<value name="FORCE_SAME_FREQ" value="0x1">
+</value>
+<value name="HONOR_SAME_FREQ_RULE" value="0x0">
+</value>
+</field>
+<field name="EN_USB_CLKS" bitrange="18:18">
+</field>
+<field name="BYPASS" bitrange="17:17">
+</field>
+<field name="POWER" bitrange="16:16">
+</field>
+<field name="FREQ" bitrange="8:0">
+</field>
+</reg>
+<reg name="PLLCTRL1" sct="yes">
+<addr name="PLLCTRL1" addr="0x10" />
+<field name="LOCK" bitrange="31:31">
+</field>
+<field name="FORCE_LOCK" bitrange="30:30">
+</field>
+<field name="LOCK_COUNT" bitrange="15:0">
+</field>
+</reg>
+<reg name="CPU" sct="no">
+<addr name="CPU" addr="0x20" />
+<field name="WAIT_PLL_LOCK" bitrange="30:30">
+</field>
+<field name="BUSY" bitrange="29:29">
+</field>
+<field name="INTERRUPT_WAIT" bitrange="12:12">
+</field>
+<field name="DIV" bitrange="9:0">
+</field>
+</reg>
+<reg name="HBUS" sct="no">
+<addr name="HBUS" addr="0x30" />
+<field name="WAIT_PLL_LOCK" bitrange="30:30">
+</field>
+<field name="BUSY" bitrange="29:29">
+</field>
+<field name="EMI_BUSY_FAST" bitrange="27:27">
+</field>
+<field name="APBHDMA_BUSY_FAST" bitrange="26:26">
+</field>
+<field name="APBXDMA_BUSY_FAST" bitrange="25:25">
+</field>
+<field name="TRAFFIC_JAM_FAST" bitrange="24:24">
+</field>
+<field name="TRAFFIC_FAST" bitrange="23:23">
+</field>
+<field name="CPU_DATA_FAST" bitrange="22:22">
+</field>
+<field name="CPU_INSTR_FAST" bitrange="21:21">
+</field>
+<field name="AUTO_SLOW_MODE" bitrange="20:20">
+</field>
+<field name="SLOW_DIV" bitrange="17:16">
+<value name="BY1" value="0x0">
+</value>
+<value name="BY2" value="0x1">
+</value>
+<value name="BY4" value="0x2">
+</value>
+<value name="BY8" value="0x3">
+</value>
+</field>
+<field name="DIV" bitrange="4:0">
+</field>
+</reg>
+<reg name="XBUS" sct="no">
+<addr name="XBUS" addr="0x40" />
+<field name="BUSY" bitrange="31:31">
+</field>
+<field name="DIV" bitrange="9:0">
+</field>
+</reg>
+<reg name="XTAL" sct="no">
+<addr name="XTAL" addr="0x50" />
+<field name="UART_CLK_GATE" bitrange="31:31">
+</field>
+<field name="FILT_CLK24M_GATE" bitrange="30:30">
+</field>
+<field name="PWM_CLK24M_GATE" bitrange="29:29">
+</field>
+<field name="DRI_CLK24M_GATE" bitrange="28:28">
+</field>
+<field name="DIGCTRL_CLK1M_GATE" bitrange="27:27">
+</field>
+<field name="TIMROT_CLK32K_GATE" bitrange="26:26">
+</field>
+<field name="EXRAM_CLK16K_GATE" bitrange="25:25">
+</field>
+<field name="LRADC_CLK2K_GATE" bitrange="24:24">
+</field>
+</reg>
+<reg name="OCRAM" sct="no">
+<addr name="OCRAM" addr="0x60" />
+<field name="CLKGATE" bitrange="31:31">
+</field>
+<field name="BUSY" bitrange="30:30">
+</field>
+<field name="DIV" bitrange="9:0">
+</field>
+</reg>
+<reg name="UTMI" sct="no">
+<addr name="UTMI" addr="0x70" />
+<field name="UTMI_CLK120M_GATE" bitrange="31:31">
+</field>
+<field name="UTMI_CLK30M_GATE" bitrange="30:30">
+</field>
+</reg>
+<reg name="SSP" sct="no">
+<addr name="SSP" addr="0x80" />
+<field name="CLKGATE" bitrange="31:31">
+</field>
+<field name="WAIT_PLL_LOCK" bitrange="30:30">
+</field>
+<field name="BUSY" bitrange="29:29">
+</field>
+<field name="DIV" bitrange="8:0">
+</field>
+</reg>
+<reg name="GPMI" sct="no">
+<addr name="GPMI" addr="0x90" />
+<field name="CLKGATE" bitrange="31:31">
+</field>
+<field name="WAIT_PLL_LOCK" bitrange="30:30">
+</field>
+<field name="BUSY" bitrange="29:29">
+</field>
+<field name="DIV" bitrange="9:0">
+</field>
+</reg>
+<reg name="SPDIF" sct="no">
+<addr name="SPDIF" addr="0xa0" />
+<field name="CLKGATE" bitrange="31:31">
+</field>
+<field name="BUSY" bitrange="30:30">
+</field>
+<field name="DIV" bitrange="2:0">
+</field>
+</reg>
+<reg name="EMI" sct="no">
+<addr name="EMI" addr="0xb0" />
+<field name="CLKGATE" bitrange="31:31">
+</field>
+<field name="WAIT_PLL_LOCK" bitrange="30:30">
+</field>
+<field name="BUSY" bitrange="29:29">
+</field>
+<field name="DIV" bitrange="2:0">
+</field>
+</reg>
+<reg name="IR" sct="no">
+<addr name="IR" addr="0xc0" />
+<field name="CLKGATE" bitrange="31:31">
+</field>
+<field name="WAIT_PLL_LOCK" bitrange="30:30">
+</field>
+<field name="AUTO_DIV" bitrange="29:29">
+</field>
+<field name="IR_BUSY" bitrange="28:28">
+</field>
+<field name="IROV_BUSY" bitrange="27:27">
+</field>
+<field name="IROV_DIV" bitrange="24:16">
+</field>
+<field name="IR_DIV" bitrange="9:0">
+</field>
+</reg>
+</dev>
+<dev name="DACDMA" long_name="DAC DMA" desc="DAC DMA Control" version="2.3.0">
+<addr name="DACDMA" addr="0x8004c000" />
+<reg name="CTRL" sct="yes">
+<addr name="CTRL" addr="0x0" />
+<field name="SFTRST" bitrange="31:31">
+</field>
+<field name="CLKGATE" bitrange="30:30">
+</field>
+<field name="RUN" bitrange="0:0">
+</field>
+</reg>
+<reg name="DATA" sct="no">
+<addr name="DATA" addr="0x80" />
+<field name="HIGH" bitrange="31:16">
+</field>
+<field name="LOW" bitrange="15:0">
+</field>
+</reg>
+</dev>
+<dev name="DIGCTL" long_name="Digital Control" desc="Digital Control and On-Chip RAM" version="2.3.0">
+<addr name="DIGCTL" addr="0x8001c000" />
+<reg name="CTRL" sct="yes">
+<addr name="CTRL" addr="0x0" />
+<field name="MASTER_SELECT" bitrange="28:24">
+<value name="ARM_I" value="0x1">
+</value>
+<value name="ARM_D" value="0x2">
+</value>
+<value name="USB" value="0x4">
+</value>
+<value name="APBH" value="0x8">
+</value>
+<value name="APBX" value="0x10">
+</value>
+</field>
+<field name="USB_TESTMODE" bitrange="20:20">
+</field>
+<field name="ANALOG_TESTMODE" bitrange="19:19">
+</field>
+<field name="DIGITAL_TESTMODE" bitrange="18:18">
+</field>
+<field name="UTMI_TESTMODE" bitrange="17:17">
+</field>
+<field name="UART_LOOPBACK" bitrange="16:16">
+<value name="NORMAL" value="0x0">
+</value>
+<value name="LOOPIT" value="0x1">
+</value>
+</field>
+<field name="DEBUG_DISABLE" bitrange="3:3">
+</field>
+<field name="USB_CLKGATE" bitrange="2:2">
+<value name="RUN" value="0x0">
+</value>
+<value name="NO_CLKS" value="0x1">
+</value>
+</field>
+<field name="JTAG_SHIELD" bitrange="1:1">
+<value name="NORMAL" value="0x0">
+</value>
+<value name="SHIELDS_UP" value="0x1">
+</value>
+</field>
+<field name="PACKAGE_SENSE_ENABLE" bitrange="0:0">
+<value name="DISABLE" value="0x0">
+</value>
+<value name="ENABLE" value="0x1">
+</value>
+</field>
+</reg>
+<reg name="STATUS" sct="no">
+<addr name="STATUS" addr="0x10" />
+<field name="ROM_KEYS_PRESENT" bitrange="31:31">
+</field>
+<field name="JTAG_SHIELD_DEFAULT" bitrange="6:6">
+</field>
+<field name="ROM_SHIELDED" bitrange="5:5">
+</field>
+<field name="JTAG_IN_USE" bitrange="4:4">
+</field>
+<field name="PSWITCH" bitrange="3:2">
+</field>
+<field name="PACKAGE_TYPE" bitrange="1:1">
+</field>
+<field name="WRITTEN" bitrange="0:0">
+</field>
+</reg>
+<reg name="HCLKCOUNT" sct="no">
+<addr name="HCLKCOUNT" addr="0x20" />
+<field name="COUNT" bitrange="31:0">
+</field>
+</reg>
+<reg name="RAMCTRL" sct="yes">
+<addr name="RAMCTRL" addr="0x30" />
+<field name="TEST_MARGIN" bitrange="30:28">
+<value name="NORMAL" value="0x0">
+</value>
+<value name="LEVEL1" value="0x1">
+</value>
+<value name="LEVEL2" value="0x2">
+</value>
+<value name="LEVEL3" value="0x3">
+</value>
+<value name="LEVEL4" value="0x4">
+</value>
+<value name="LEVEL5" value="0x5">
+</value>
+<value name="LEVEL6" value="0x6">
+</value>
+<value name="LEVEL7" value="0x7">
+</value>
+</field>
+<field name="PWDN_BANKS" bitrange="27:24">
+<value name="PWDN_BANK3" value="0x8">
+</value>
+<value name="PWDN_BANK2" value="0x4">
+</value>
+<value name="PWDN_BANK1" value="0x2">
+</value>
+<value name="PWDN_BANK0" value="0x1">
+</value>
+</field>
+<field name="TEMP_SENSOR" bitrange="22:20">
+</field>
+<field name="TEST_TEMP_COMP" bitrange="18:16">
+<value name="LOW_TEMP" value="0x1">
+</value>
+<value name="RANGE_A" value="0x2">
+</value>
+<value name="RANGE_B" value="0x3">
+</value>
+<value name="RANGE_C" value="0x4">
+</value>
+<value name="RANGE_D" value="0x5">
+</value>
+<value name="RANGE_E" value="0x6">
+</value>
+<value name="RANGE_F" value="0x7">
+</value>
+</field>
+<field name="SHIFT_COUNT" bitrange="14:8">
+</field>
+<field name="FLIP_CLK" bitrange="7:7">
+<value name="NORMAL" value="0x0">
+</value>
+<value name="INVERT" value="0x1">
+</value>
+</field>
+<field name="OVER_RIDE_TEMP" bitrange="3:3">
+<value name="NORMAL" value="0x0">
+</value>
+<value name="OVER_RIDE" value="0x1">
+</value>
+</field>
+<field name="REF_CLK_GATE" bitrange="2:2">
+<value name="NORMAL" value="0x0">
+</value>
+<value name="OFF" value="0x1">
+</value>
+</field>
+<field name="REPAIR_STATUS" bitrange="1:1">
+<value name="IDLE" value="0x0">
+</value>
+<value name="BUSY" value="0x1">
+</value>
+</field>
+<field name="REPAIR_TRANSMIT" bitrange="0:0">
+<value name="IDLE" value="0x0">
+</value>
+<value name="SEND" value="0x1">
+</value>
+</field>
+</reg>
+<reg name="RAMREPAIR0" sct="yes">
+<addr name="RAMREPAIR0" addr="0x40" />
+<field name="EFUSE3" bitrange="30:24">
+</field>
+<field name="EFUSE2" bitrange="22:16">
+</field>
+<field name="EFUSE1" bitrange="14:8">
+</field>
+<field name="EFUSE0" bitrange="6:0">
+</field>
+</reg>
+<reg name="RAMREPAIR1" sct="yes">
+<addr name="RAMREPAIR1" addr="0x50" />
+<field name="EFUSE3" bitrange="30:24">
+</field>
+<field name="EFUSE2" bitrange="22:16">
+</field>
+<field name="EFUSE1" bitrange="14:8">
+</field>
+<field name="EFUSE0" bitrange="6:0">
+</field>
+</reg>
+<reg name="WRITEONCE" sct="no">
+<addr name="WRITEONCE" addr="0x60" />
+<field name="BITS" bitrange="31:0">
+</field>
+</reg>
+<reg name="AHBCYCLES" sct="no">
+<addr name="AHBCYCLES" addr="0x70" />
+<field name="COUNT" bitrange="31:0">
+</field>
+</reg>
+<reg name="AHBSTALLED" sct="no">
+<addr name="AHBSTALLED" addr="0x80" />
+<field name="COUNT" bitrange="31:0">
+</field>
+</reg>
+<reg name="ENTROPY" sct="no">
+<addr name="ENTROPY" addr="0x90" />
+<field name="VALUE" bitrange="31:0">
+</field>
+</reg>
+<reg name="ROMSHIELD" sct="no">
+<addr name="ROMSHIELD" addr="0xa0" />
+<field name="WRITE_ONCE" bitrange="0:0">
+</field>
+</reg>
+<reg name="MICROSECONDS" sct="yes">
+<addr name="MICROSECONDS" addr="0xb0" />
+<field name="VALUE" bitrange="31:0">
+</field>
+</reg>
+<reg name="DBGRD" sct="no">
+<addr name="DBGRD" addr="0xc0" />
+<field name="COMPLEMENT" bitrange="31:0">
+</field>
+</reg>
+<reg name="DBG" sct="no">
+<addr name="DBG" addr="0xd0" />
+<field name="VALUE" bitrange="31:0">
+</field>
+</reg>
+<reg name="1TRAM_BIST_CSR" sct="yes">
+<addr name="1TRAM_BIST_CSR" addr="0xe0" />
+<field name="FAIL" bitrange="3:3">
+</field>
+<field name="PASS" bitrange="2:2">
+</field>
+<field name="DONE" bitrange="1:1">
+</field>
+<field name="START" bitrange="0:0">
+</field>
+</reg>
+<reg name="1TRAM_BIST_REPAIR0" sct="no">
+<addr name="1TRAM_BIST_REPAIR0" addr="0xf0" />
+</reg>
+<reg name="1TRAM_BIST_REPAIR1" sct="no">
+<addr name="1TRAM_BIST_REPAIR1" addr="0x100" />
+</reg>
+<reg name="1TRAM_STATUS0" sct="no">
+<addr name="1TRAM_STATUS0" addr="0x110" />
+<field name="FAILDATA00" bitrange="31:0">
+</field>
+</reg>
+<reg name="1TRAM_STATUS1" sct="no">
+<addr name="1TRAM_STATUS1" addr="0x120" />
+<field name="FAILDATA01" bitrange="31:0">
+</field>
+</reg>
+<reg name="1TRAM_STATUS2" sct="no">
+<addr name="1TRAM_STATUS2" addr="0x130" />
+<field name="FAILDATA10" bitrange="31:0">
+</field>
+</reg>
+<reg name="1TRAM_STATUS3" sct="no">
+<addr name="1TRAM_STATUS3" addr="0x140" />
+<field name="FAILDATA11" bitrange="31:0">
+</field>
+</reg>
+<reg name="1TRAM_STATUS4" sct="no">
+<addr name="1TRAM_STATUS4" addr="0x150" />
+<field name="FAILDATA20" bitrange="31:0">
+</field>
+</reg>
+<reg name="1TRAM_STATUS5" sct="no">
+<addr name="1TRAM_STATUS5" addr="0x160" />
+<field name="FAILDATA21" bitrange="31:0">
+</field>
+</reg>
+<reg name="1TRAM_STATUS6" sct="no">
+<addr name="1TRAM_STATUS6" addr="0x170" />
+<field name="FAILDATA30" bitrange="31:0">
+</field>
+</reg>
+<reg name="1TRAM_STATUS7" sct="no">
+<addr name="1TRAM_STATUS7" addr="0x180" />
+<field name="FAILDATA31" bitrange="31:0">
+</field>
+</reg>
+<reg name="1TRAM_STATUS8" sct="no">
+<addr name="1TRAM_STATUS8" addr="0x190" />
+<field name="FAILADDR01" bitrange="31:16">
+</field>
+<field name="FAILADDR00" bitrange="15:0">
+</field>
+</reg>
+<reg name="1TRAM_STATUS9" sct="no">
+<addr name="1TRAM_STATUS9" addr="0x1a0" />
+<field name="FAILADDR11" bitrange="31:16">
+</field>
+<field name="FAILADDR10" bitrange="15:0">
+</field>
+</reg>
+<reg name="1TRAM_STATUS10" sct="no">
+<addr name="1TRAM_STATUS10" addr="0x1b0" />
+<field name="FAILADDR21" bitrange="31:16">
+</field>
+<field name="FAILADDR20" bitrange="15:0">
+</field>
+</reg>
+<reg name="1TRAM_STATUS11" sct="no">
+<addr name="1TRAM_STATUS11" addr="0x1c0" />
+<field name="FAILADDR31" bitrange="31:16">
+</field>
+<field name="FAILADDR30" bitrange="15:0">
+</field>
+</reg>
+<reg name="1TRAM_STATUS12" sct="no">
+<addr name="1TRAM_STATUS12" addr="0x1d0" />
+<field name="FAILSTATE11" bitrange="28:24">
+</field>
+<field name="FAILSTATE10" bitrange="20:16">
+</field>
+<field name="FAILSTATE01" bitrange="12:8">
+</field>
+<field name="FAILSTATE00" bitrange="4:0">
+</field>
+</reg>
+<reg name="1TRAM_STATUS13" sct="no">
+<addr name="1TRAM_STATUS13" addr="0x1e0" />
+<field name="FAILSTATE31" bitrange="28:24">
+</field>
+<field name="FAILSTATE30" bitrange="20:16">
+</field>
+<field name="FAILSTATE21" bitrange="12:8">
+</field>
+<field name="FAILSTATE20" bitrange="4:0">
+</field>
+</reg>
+<reg name="SCRATCH0" sct="no">
+<addr name="SCRATCH0" addr="0x290" />
+<field name="PTR" bitrange="31:0">
+</field>
+</reg>
+<reg name="SCRATCH1" sct="no">
+<addr name="SCRATCH1" addr="0x2a0" />
+<field name="PTR" bitrange="31:0">
+</field>
+</reg>
+<reg name="ARMCACHE" sct="no">
+<addr name="ARMCACHE" addr="0x2b0" />
+<field name="CACHE_SS" bitrange="9:8">
+</field>
+<field name="DTAG_SS" bitrange="5:4">
+</field>
+<field name="ITAG_SS" bitrange="1:0">
+</field>
+</reg>
+<reg name="SGTL" sct="no">
+<addr name="SGTL" addr="0x300" />
+<field name="COPYRIGHT" bitrange="31:0">
+</field>
+</reg>
+<reg name="CHIPID" sct="no">
+<addr name="CHIPID" addr="0x310" />
+<field name="PRODUCT_CODE" bitrange="31:16">
+</field>
+<field name="REVISION" bitrange="7:0">
+</field>
+</reg>
+</dev>
+<dev name="DRI" long_name="Digital Radio Interface" desc="Digital Radio Interface (DRI)" version="2.3.0">
+<addr name="DRI" addr="0x80074000" />
+<reg name="CTRL" sct="yes">
+<addr name="CTRL" addr="0x0" />
+<field name="SFTRST" bitrange="31:31">
+<value name="RUN" value="0x0">
+</value>
+<value name="RESET" value="0x1">
+</value>
+</field>
+<field name="CLKGATE" bitrange="30:30">
+<value name="RUN" value="0x0">
+</value>
+<value name="NO_CLKS" value="0x1">
+</value>
+</field>
+<field name="ENABLE_INPUTS" bitrange="29:29">
+<value name="ANALOG_LINE_IN" value="0x0">
+</value>
+<value name="DRI_DIGITAL_IN" value="0x1">
+</value>
+</field>
+<field name="STOP_ON_OFLOW_ERROR" bitrange="26:26">
+<value name="IGNORE" value="0x0">
+</value>
+<value name="STOP" value="0x1">
+</value>
+</field>
+<field name="STOP_ON_PILOT_ERROR" bitrange="25:25">
+<value name="IGNORE" value="0x0">
+</value>
+<value name="STOP" value="0x1">
+</value>
+</field>
+<field name="DMA_DELAY_COUNT" bitrange="20:16">
+</field>
+<field name="REACQUIRE_PHASE" bitrange="15:15">
+<value name="NORMAL" value="0x0">
+</value>
+<value name="NEW_PHASE" value="0x1">
+</value>
+</field>
+<field name="OVERFLOW_IRQ_EN" bitrange="11:11">
+<value name="DISABLED" value="0x0">
+</value>
+<value name="ENABLED" value="0x1">
+</value>
+</field>
+<field name="PILOT_SYNC_LOSS_IRQ_EN" bitrange="10:10">
+<value name="DISABLED" value="0x0">
+</value>
+<value name="ENABLED" value="0x1">
+</value>
+</field>
+<field name="ATTENTION_IRQ_EN" bitrange="9:9">
+<value name="DISABLED" value="0x0">
+</value>
+<value name="ENABLED" value="0x1">
+</value>
+</field>
+<field name="OVERFLOW_IRQ" bitrange="3:3">
+<value name="NO_REQUEST" value="0x0">
+</value>
+<value name="REQUEST" value="0x1">
+</value>
+</field>
+<field name="PILOT_SYNC_LOSS_IRQ" bitrange="2:2">
+<value name="NO_REQUEST" value="0x0">
+</value>
+<value name="REQUEST" value="0x1">
+</value>
+</field>
+<field name="ATTENTION_IRQ" bitrange="1:1">
+<value name="NO_REQUEST" value="0x0">
+</value>
+<value name="REQUEST" value="0x1">
+</value>
+</field>
+<field name="RUN" bitrange="0:0">
+<value name="HALT" value="0x0">
+</value>
+<value name="RUN" value="0x1">
+</value>
+</field>
+</reg>
+<reg name="TIMING" sct="no">
+<addr name="TIMING" addr="0x10" />
+<field name="PILOT_REP_RATE" bitrange="19:16">
+</field>
+<field name="GAP_DETECTION_INTERVAL" bitrange="7:0">
+</field>
+</reg>
+<reg name="STAT" sct="no">
+<addr name="STAT" addr="0x20" />
+<field name="DRI_PRESENT" bitrange="31:31">
+<value name="UNAVAILABLE" value="0x0">
+</value>
+<value name="AVAILABLE" value="0x1">
+</value>
+</field>
+<field name="PILOT_PHASE" bitrange="19:16">
+</field>
+<field name="OVERFLOW_IRQ_SUMMARY" bitrange="3:3">
+<value name="NO_REQUEST" value="0x0">
+</value>
+<value name="REQUEST" value="0x1">
+</value>
+</field>
+<field name="PILOT_SYNC_LOSS_IRQ_SUMMARY" bitrange="2:2">
+<value name="NO_REQUEST" value="0x0">
+</value>
+<value name="REQUEST" value="0x1">
+</value>
+</field>
+<field name="ATTENTION_IRQ_SUMMARY" bitrange="1:1">
+<value name="NO_REQUEST" value="0x0">
+</value>
+<value name="REQUEST" value="0x1">
+</value>
+</field>
+</reg>
+<reg name="DATA" sct="no">
+<addr name="DATA" addr="0x30" />
+<field name="DATA" bitrange="31:0">
+</field>
+</reg>
+<reg name="DEBUG0" sct="yes">
+<addr name="DEBUG0" addr="0x40" />
+<field name="DMAREQ" bitrange="31:31">
+</field>
+<field name="DMACMDKICK" bitrange="30:30">
+</field>
+<field name="DRI_CLK_INPUT" bitrange="29:29">
+</field>
+<field name="DRI_DATA_INPUT" bitrange="28:28">
+</field>
+<field name="TEST_MODE" bitrange="27:27">
+</field>
+<field name="PILOT_REP_RATE" bitrange="26:26">
+<value name="8_AT_4MHZ" value="0x0">
+</value>
+<value name="12_AT_6MHZ" value="0x1">
+</value>
+</field>
+<field name="SPARE" bitrange="25:18">
+</field>
+<field name="FRAME" bitrange="17:0">
+</field>
+</reg>
+<reg name="DEBUG1" sct="yes">
+<addr name="DEBUG1" addr="0x50" />
+<field name="INVERT_PILOT" bitrange="31:31">
+<value name="NORMAL" value="0x0">
+</value>
+<value name="INVERTED" value="0x1">
+</value>
+</field>
+<field name="INVERT_ATTENTION" bitrange="30:30">
+<value name="NORMAL" value="0x0">
+</value>
+<value name="INVERTED" value="0x1">
+</value>
+</field>
+<field name="INVERT_DRI_DATA" bitrange="29:29">
+<value name="NORMAL" value="0x0">
+</value>
+<value name="INVERTED" value="0x1">
+</value>
+</field>
+<field name="INVERT_DRI_CLOCK" bitrange="28:28">
+<value name="NORMAL" value="0x0">
+</value>
+<value name="INVERTED" value="0x1">
+</value>
+</field>
+<field name="REVERSE_FRAME" bitrange="27:27">
+<value name="NORMAL" value="0x0">
+</value>
+<value name="REVERSED" value="0x1">
+</value>
+</field>
+<field name="SWIZZLED_FRAME" bitrange="17:0">
+</field>
+</reg>
+</dev>
+<dev name="EMICTRL" long_name="External Memory Interface" desc="External Memory Interface (EMI)" version="2.3.0">
+<addr name="EMICTRL" addr="0x80020000" />
+<field name="FTRST" bitrange="31:31">
+</field>
+<field name="LKGATE" bitrange="30:30">
+</field>
+<field name="E3_MODE" bitrange="3:3">
+<value name="STATIC" value="0x0">
+</value>
+<value name="DRAM" value="0x1">
+</value>
+</field>
+<field name="E2_MODE" bitrange="2:2">
+<value name="STATIC" value="0x0">
+</value>
+<value name="DRAM" value="0x1">
+</value>
+</field>
+<field name="E1_MODE" bitrange="1:1">
+<value name="STATIC" value="0x0">
+</value>
+<value name="DRAM" value="0x1">
+</value>
+</field>
+<field name="E0_MODE" bitrange="0:0">
+<value name="STATIC" value="0x0">
+</value>
+<value name="DRAM" value="0x1">
+</value>
+</field>
+</dev>
+<dev name="GPMI" long_name="General Purpose Media Interface" desc="General Purpose Media Interface" version="2.3.0">
+<addr name="GPMI" addr="0x8000c000" />
+<reg name="CTRL0" sct="yes">
+<addr name="CTRL0" addr="0x0" />
+<field name="SFTRST" bitrange="31:31">
+<value name="RUN" value="0x0">
+</value>
+<value name="RESET" value="0x1">
+</value>
+</field>
+<field name="CLKGATE" bitrange="30:30">
+<value name="RUN" value="0x0">
+</value>
+<value name="NO_CLKS" value="0x1">
+</value>
+</field>
+<field name="RUN" bitrange="29:29">
+<value name="IDLE" value="0x0">
+</value>
+<value name="BUSY" value="0x1">
+</value>
+</field>
+<field name="DEV_IRQ_EN" bitrange="28:28">
+</field>
+<field name="TIMEOUT_IRQ_EN" bitrange="27:27">
+</field>
+<field name="UDMA" bitrange="26:26">
+<value name="DISABLED" value="0x0">
+</value>
+<value name="ENABLED" value="0x1">
+</value>
+</field>
+<field name="COMMAND_MODE" bitrange="25:24">
+<value name="WRITE" value="0x0">
+</value>
+<value name="READ" value="0x1">
+</value>
+<value name="READ_AND_COMPARE" value="0x2">
+</value>
+<value name="WAIT_FOR_READY" value="0x3">
+</value>
+</field>
+<field name="WORD_LENGTH" bitrange="23:23">
+<value name="16_BIT" value="0x0">
+</value>
+<value name="8_BIT" value="0x1">
+</value>
+</field>
+<field name="LOCK_CS" bitrange="22:22">
+<value name="DISABLED" value="0x0">
+</value>
+<value name="ENABLED" value="0x1">
+</value>
+</field>
+<field name="CS" bitrange="21:20">
+</field>
+<field name="ADDRESS" bitrange="19:17">
+<value name="NAND_DATA" value="0x0">
+</value>
+<value name="NAND_CLE" value="0x1">
+</value>
+<value name="NAND_ALE" value="0x2">
+</value>
+</field>
+<field name="ADDRESS_INCREMENT" bitrange="16:16">
+<value name="DISABLED" value="0x0">
+</value>
+<value name="ENABLED" value="0x1">
+</value>
+</field>
+<field name="XFER_COUNT" bitrange="15:0">
+</field>
+</reg>
+<reg name="COMPARE" sct="no">
+<addr name="COMPARE" addr="0x10" />
+<field name="MASK" bitrange="31:16">
+</field>
+<field name="REFERENCE" bitrange="15:0">
+</field>
+</reg>
+<reg name="CTRL1" sct="yes">
+<addr name="CTRL1" addr="0x20" />
+<field name="DSAMPLE_TIME" bitrange="13:12">
+</field>
+<field name="DEV_IRQ" bitrange="10:10">
+</field>
+<field name="TIMEOUT_IRQ" bitrange="9:9">
+</field>
+<field name="BURST_EN" bitrange="8:8">
+</field>
+<field name="ABORT_WAIT_FOR_READY3" bitrange="7:7">
+</field>
+<field name="ABORT_WAIT_FOR_READY2" bitrange="6:6">
+</field>
+<field name="ABORT_WAIT_FOR_READY1" bitrange="5:5">
+</field>
+<field name="ABORT_WAIT_FOR_READY0" bitrange="4:4">
+</field>
+<field name="DEV_RESET" bitrange="3:3">
+<value name="ENABLED" value="0x0">
+</value>
+<value name="DISABLED" value="0x1">
+</value>
+</field>
+<field name="ATA_IRQRDY_POLARITY" bitrange="2:2">
+<value name="ACTIVELOW" value="0x0">
+</value>
+<value name="ACTIVEHIGH" value="0x1">
+</value>
+</field>
+<field name="CAMERA_MODE" bitrange="1:1">
+</field>
+<field name="GPMI_MODE" bitrange="0:0">
+<value name="NAND" value="0x0">
+</value>
+<value name="ATA" value="0x1">
+</value>
+</field>
+</reg>
+<reg name="TIMING0" sct="no">
+<addr name="TIMING0" addr="0x30" />
+<field name="ADDRESS_SETUP" bitrange="23:16">
+</field>
+<field name="DATA_HOLD" bitrange="15:8">
+</field>
+<field name="DATA_SETUP" bitrange="7:0">
+</field>
+</reg>
+<reg name="TIMING1" sct="no">
+<addr name="TIMING1" addr="0x40" />
+<field name="DEVICE_BUSY_TIMEOUT" bitrange="31:16">
+</field>
+<field name="ATA_READY_TIMEOUT" bitrange="15:0">
+</field>
+</reg>
+<reg name="TIMING2" sct="no">
+<addr name="TIMING2" addr="0x50" />
+<field name="UDMA_TRP" bitrange="31:24">
+</field>
+<field name="UDMA_ENV" bitrange="23:16">
+</field>
+<field name="UDMA_HOLD" bitrange="15:8">
+</field>
+<field name="UDMA_SETUP" bitrange="7:0">
+</field>
+</reg>
+<reg name="DATA" sct="no">
+<addr name="DATA" addr="0x60" />
+<field name="DATA" bitrange="31:0">
+</field>
+</reg>
+<reg name="STAT" sct="no">
+<addr name="STAT" addr="0x70" />
+<field name="PRESENT" bitrange="31:31">
+<value name="UNAVAILABLE" value="0x0">
+</value>
+<value name="AVAILABLE" value="0x1">
+</value>
+</field>
+<field name="RDY_TIMEOUT" bitrange="11:8">
+</field>
+<field name="ATA_IRQ" bitrange="7:7">
+</field>
+<field name="FIFO_EMPTY" bitrange="5:5">
+<value name="NOT_EMPTY" value="0x0">
+</value>
+<value name="EMPTY" value="0x1">
+</value>
+</field>
+<field name="FIFO_FULL" bitrange="4:4">
+<value name="NOT_FULL" value="0x0">
+</value>
+<value name="FULL" value="0x1">
+</value>
+</field>
+<field name="DEV3_ERROR" bitrange="3:3">
+</field>
+<field name="DEV2_ERROR" bitrange="2:2">
+</field>
+<field name="DEV1_ERROR" bitrange="1:1">
+</field>
+<field name="DEV0_ERROR" bitrange="0:0">
+</field>
+</reg>
+<reg name="DEBUG" sct="no">
+<addr name="DEBUG" addr="0x80" />
+<field name="READY3" bitrange="31:31">
+</field>
+<field name="READY2" bitrange="30:30">
+</field>
+<field name="READY1" bitrange="29:29">
+</field>
+<field name="READY0" bitrange="28:28">
+</field>
+<field name="WAIT_FOR_READY_END3" bitrange="27:27">
+</field>
+<field name="WAIT_FOR_READY_END2" bitrange="26:26">
+</field>
+<field name="WAIT_FOR_READY_END1" bitrange="25:25">
+</field>
+<field name="WAIT_FOR_READY_END0" bitrange="24:24">
+</field>
+<field name="SENSE3" bitrange="23:23">
+</field>
+<field name="SENSE2" bitrange="22:22">
+</field>
+<field name="SENSE1" bitrange="21:21">
+</field>
+<field name="SENSE0" bitrange="20:20">
+</field>
+<field name="DMAREQ3" bitrange="19:19">
+</field>
+<field name="DMAREQ2" bitrange="18:18">
+</field>
+<field name="DMAREQ1" bitrange="17:17">
+</field>
+<field name="DMAREQ0" bitrange="16:16">
+</field>
+<field name="CMD_END" bitrange="15:12">
+</field>
+<field name="UDMA_STATE" bitrange="11:8">
+</field>
+<field name="BUSY" bitrange="7:7">
+<value name="DISABLED" value="0x0">
+</value>
+<value name="ENABLED" value="0x1">
+</value>
+</field>
+<field name="PIN_STATE" bitrange="6:4">
+<value name="PSM_IDLE" value="0x0">
+</value>
+<value name="PSM_BYTCNT" value="0x1">
+</value>
+<value name="PSM_ADDR" value="0x2">
+</value>
+<value name="PSM_STALL" value="0x3">
+</value>
+<value name="PSM_STROBE" value="0x4">
+</value>
+<value name="PSM_ATARDY" value="0x5">
+</value>
+<value name="PSM_DHOLD" value="0x6">
+</value>
+<value name="PSM_DONE" value="0x7">
+</value>
+</field>
+<field name="MAIN_STATE" bitrange="3:0">
+<value name="MSM_IDLE" value="0x0">
+</value>
+<value name="MSM_BYTCNT" value="0x1">
+</value>
+<value name="MSM_WAITFE" value="0x2">
+</value>
+<value name="MSM_WAITFR" value="0x3">
+</value>
+<value name="MSM_DMAREQ" value="0x4">
+</value>
+<value name="MSM_DMAACK" value="0x5">
+</value>
+<value name="MSM_WAITFF" value="0x6">
+</value>
+<value name="MSM_LDFIFO" value="0x7">
+</value>
+<value name="MSM_LDDMAR" value="0x8">
+</value>
+<value name="MSM_RDCMP" value="0x9">
+</value>
+<value name="MSM_DONE" value="0xa">
+</value>
+</field>
+</reg>
+</dev>
+<dev name="I2C" long_name="I2C Interface" desc="I2C Interface" version="2.3.0">
+<addr name="I2C" addr="0x80058000" />
+<reg name="CTRL0" sct="yes">
+<addr name="CTRL0" addr="0x0" />
+<field name="SFTRST" bitrange="31:31">
+<value name="RUN" value="0x0">
+</value>
+<value name="RESET" value="0x1">
+</value>
+</field>
+<field name="CLKGATE" bitrange="30:30">
+<value name="RUN" value="0x0">
+</value>
+<value name="NO_CLKS" value="0x1">
+</value>
+</field>
+<field name="RUN" bitrange="29:29">
+<value name="HALT" value="0x0">
+</value>
+<value name="RUN" value="0x1">
+</value>
+</field>
+<field name="PRE_ACK" bitrange="27:27">
+</field>
+<field name="ACKNOWLEDGE" bitrange="26:26">
+<value name="SNAK" value="0x0">
+</value>
+<value name="ACK" value="0x1">
+</value>
+</field>
+<field name="SEND_NAK_ON_LAST" bitrange="25:25">
+<value name="ACK_IT" value="0x0">
+</value>
+<value name="NAK_IT" value="0x1">
+</value>
+</field>
+<field name="PIO_MODE" bitrange="24:24">
+</field>
+<field name="MULTI_MASTER" bitrange="23:23">
+<value name="SINGLE" value="0x0">
+</value>
+<value name="MULTIPLE" value="0x1">
+</value>
+</field>
+<field name="CLOCK_HELD" bitrange="22:22">
+<value name="RELEASE" value="0x0">
+</value>
+<value name="HELD_LOW" value="0x1">
+</value>
+</field>
+<field name="RETAIN_CLOCK" bitrange="21:21">
+<value name="RELEASE" value="0x0">
+</value>
+<value name="HOLD_LOW" value="0x1">
+</value>
+</field>
+<field name="POST_SEND_STOP" bitrange="20:20">
+<value name="NO_STOP" value="0x0">
+</value>
+<value name="SEND_STOP" value="0x1">
+</value>
+</field>
+<field name="PRE_SEND_START" bitrange="19:19">
+<value name="NO_START" value="0x0">
+</value>
+<value name="SEND_START" value="0x1">
+</value>
+</field>
+<field name="SLAVE_ADDRESS_ENABLE" bitrange="18:18">
+<value name="DISABLED" value="0x0">
+</value>
+<value name="ENABLED" value="0x1">
+</value>
+</field>
+<field name="MASTER_MODE" bitrange="17:17">
+<value name="SLAVE" value="0x0">
+</value>
+<value name="MASTER" value="0x1">
+</value>
+</field>
+<field name="DIRECTION" bitrange="16:16">
+<value name="RECEIVE" value="0x0">
+</value>
+<value name="TRANSMIT" value="0x1">
+</value>
+</field>
+<field name="XFER_COUNT" bitrange="15:0">
+</field>
+</reg>
+<reg name="TIMING0" sct="yes">
+<addr name="TIMING0" addr="0x10" />
+<field name="HIGH_COUNT" bitrange="25:16">
+</field>
+<field name="RCV_COUNT" bitrange="9:0">
+</field>
+</reg>
+<reg name="TIMING1" sct="yes">
+<addr name="TIMING1" addr="0x20" />
+<field name="LOW_COUNT" bitrange="25:16">
+</field>
+<field name="XMIT_COUNT" bitrange="9:0">
+</field>
+</reg>
+<reg name="TIMING2" sct="yes">
+<addr name="TIMING2" addr="0x30" />
+<field name="BUS_FREE" bitrange="25:16">
+</field>
+<field name="LEADIN_COUNT" bitrange="9:0">
+</field>
+</reg>
+<reg name="CTRL1" sct="yes">
+<addr name="CTRL1" addr="0x40" />
+<field name="BCAST_SLAVE_EN" bitrange="24:24">
+<value name="NO_BCAST" value="0x0">
+</value>
+<value name="WATCH_BCAST" value="0x1">
+</value>
+</field>
+<field name="SLAVE_ADDRESS_BYTE" bitrange="23:16">
+</field>
+<field name="BUS_FREE_IRQ_EN" bitrange="15:15">
+<value name="DISABLED" value="0x0">
+</value>
+<value name="ENABLED" value="0x1">
+</value>
+</field>
+<field name="DATA_ENGINE_CMPLT_IRQ_EN" bitrange="14:14">
+<value name="DISABLED" value="0x0">
+</value>
+<value name="ENABLED" value="0x1">
+</value>
+</field>
+<field name="NO_SLAVE_ACK_IRQ_EN" bitrange="13:13">
+<value name="DISABLED" value="0x0">
+</value>
+<value name="ENABLED" value="0x1">
+</value>
+</field>
+<field name="OVERSIZE_XFER_TERM_IRQ_EN" bitrange="12:12">
+<value name="DISABLED" value="0x0">
+</value>
+<value name="ENABLED" value="0x1">
+</value>
+</field>
+<field name="EARLY_TERM_IRQ_EN" bitrange="11:11">
+<value name="DISABLED" value="0x0">
+</value>
+<value name="ENABLED" value="0x1">
+</value>
+</field>
+<field name="MASTER_LOSS_IRQ_EN" bitrange="10:10">
+<value name="DISABLED" value="0x0">
+</value>
+<value name="ENABLED" value="0x1">
+</value>
+</field>
+<field name="SLAVE_STOP_IRQ_EN" bitrange="9:9">
+<value name="DISABLED" value="0x0">
+</value>
+<value name="ENABLED" value="0x1">
+</value>
+</field>
+<field name="SLAVE_IRQ_EN" bitrange="8:8">
+<value name="DISABLED" value="0x0">
+</value>
+<value name="ENABLED" value="0x1">
+</value>
+</field>
+<field name="BUS_FREE_IRQ" bitrange="7:7">
+<value name="NO_REQUEST" value="0x0">
+</value>
+<value name="REQUEST" value="0x1">
+</value>
+</field>
+<field name="DATA_ENGINE_CMPLT_IRQ" bitrange="6:6">
+<value name="NO_REQUEST" value="0x0">
+</value>
+<value name="REQUEST" value="0x1">
+</value>
+</field>
+<field name="NO_SLAVE_ACK_IRQ" bitrange="5:5">
+<value name="NO_REQUEST" value="0x0">
+</value>
+<value name="REQUEST" value="0x1">
+</value>
+</field>
+<field name="OVERSIZE_XFER_TERM_IRQ" bitrange="4:4">
+<value name="NO_REQUEST" value="0x0">
+</value>
+<value name="REQUEST" value="0x1">
+</value>
+</field>
+<field name="EARLY_TERM_IRQ" bitrange="3:3">
+<value name="NO_REQUEST" value="0x0">
+</value>
+<value name="REQUEST" value="0x1">
+</value>
+</field>
+<field name="MASTER_LOSS_IRQ" bitrange="2:2">
+<value name="NO_REQUEST" value="0x0">
+</value>
+<value name="REQUEST" value="0x1">
+</value>
+</field>
+<field name="SLAVE_STOP_IRQ" bitrange="1:1">
+<value name="NO_REQUEST" value="0x0">
+</value>
+<value name="REQUEST" value="0x1">
+</value>
+</field>
+<field name="SLAVE_IRQ" bitrange="0:0">
+<value name="NO_REQUEST" value="0x0">
+</value>
+<value name="REQUEST" value="0x1">
+</value>
+</field>
+</reg>
+<reg name="STAT" sct="no">
+<addr name="STAT" addr="0x50" />
+<field name="MASTER_PRESENT" bitrange="31:31">
+<value name="UNAVAILABLE" value="0x0">
+</value>
+<value name="AVAILABLE" value="0x1">
+</value>
+</field>
+<field name="SLAVE_PRESENT" bitrange="30:30">
+<value name="UNAVAILABLE" value="0x0">
+</value>
+<value name="AVAILABLE" value="0x1">
+</value>
+</field>
+<field name="ANY_ENABLED_IRQ" bitrange="29:29">
+<value name="NO_REQUESTS" value="0x0">
+</value>
+<value name="AT_LEAST_ONE_REQUEST" value="0x1">
+</value>
+</field>
+<field name="RCVD_SLAVE_ADDR" bitrange="23:16">
+</field>
+<field name="SLAVE_ADDR_EQ_ZERO" bitrange="15:15">
+<value name="ZERO_NOT_MATCHED" value="0x0">
+</value>
+<value name="WAS_ZERO" value="0x1">
+</value>
+</field>
+<field name="SLAVE_FOUND" bitrange="14:14">
+<value name="IDLE" value="0x0">
+</value>
+<value name="WAITING" value="0x1">
+</value>
+</field>
+<field name="SLAVE_SEARCHING" bitrange="13:13">
+<value name="IDLE" value="0x0">
+</value>
+<value name="ACTIVE" value="0x1">
+</value>
+</field>
+<field name="DATA_ENGINE_DMA_WAIT" bitrange="12:12">
+<value name="CONTINUE" value="0x0">
+</value>
+<value name="WAITING" value="0x1">
+</value>
+</field>
+<field name="BUS_BUSY" bitrange="11:11">
+<value name="IDLE" value="0x0">
+</value>
+<value name="BUSY" value="0x1">
+</value>
+</field>
+<field name="CLK_GEN_BUSY" bitrange="10:10">
+<value name="IDLE" value="0x0">
+</value>
+<value name="BUSY" value="0x1">
+</value>
+</field>
+<field name="DATA_ENGINE_BUSY" bitrange="9:9">
+<value name="IDLE" value="0x0">
+</value>
+<value name="BUSY" value="0x1">
+</value>
+</field>
+<field name="SLAVE_BUSY" bitrange="8:8">
+<value name="IDLE" value="0x0">
+</value>
+<value name="BUSY" value="0x1">
+</value>
+</field>
+<field name="BUS_FREE_IRQ_SUMMARY" bitrange="7:7">
+<value name="NO_REQUEST" value="0x0">
+</value>
+<value name="REQUEST" value="0x1">
+</value>
+</field>
+<field name="DATA_ENGINE_CMPLT_IRQ_SUMMARY" bitrange="6:6">
+<value name="NO_REQUEST" value="0x0">
+</value>
+<value name="REQUEST" value="0x1">
+</value>
+</field>
+<field name="NO_SLAVE_ACK_IRQ_SUMMARY" bitrange="5:5">
+<value name="NO_REQUEST" value="0x0">
+</value>
+<value name="REQUEST" value="0x1">
+</value>
+</field>
+<field name="OVERSIZE_XFER_TERM_IRQ_SUMMARY" bitrange="4:4">
+<value name="NO_REQUEST" value="0x0">
+</value>
+<value name="REQUEST" value="0x1">
+</value>
+</field>
+<field name="EARLY_TERM_IRQ_SUMMARY" bitrange="3:3">
+<value name="NO_REQUEST" value="0x0">
+</value>
+<value name="REQUEST" value="0x1">
+</value>
+</field>
+<field name="MASTER_LOSS_IRQ_SUMMARY" bitrange="2:2">
+<value name="NO_REQUEST" value="0x0">
+</value>
+<value name="REQUEST" value="0x1">
+</value>
+</field>
+<field name="SLAVE_STOP_IRQ_SUMMARY" bitrange="1:1">
+<value name="NO_REQUEST" value="0x0">
+</value>
+<value name="REQUEST" value="0x1">
+</value>
+</field>
+<field name="SLAVE_IRQ_SUMMARY" bitrange="0:0">
+<value name="NO_REQUEST" value="0x0">
+</value>
+<value name="REQUEST" value="0x1">
+</value>
+</field>
+</reg>
+<reg name="DATA" sct="no">
+<addr name="DATA" addr="0x60" />
+<field name="DATA" bitrange="31:0">
+</field>
+</reg>
+<reg name="DEBUG0" sct="yes">
+<addr name="DEBUG0" addr="0x70" />
+<field name="DMAREQ" bitrange="31:31">
+</field>
+<field name="DMAENDCMD" bitrange="30:30">
+</field>
+<field name="DMAKICK" bitrange="29:29">
+</field>
+<field name="TBD" bitrange="28:26">
+</field>
+<field name="DMA_STATE" bitrange="25:16">
+</field>
+<field name="START_TOGGLE" bitrange="15:15">
+</field>
+<field name="STOP_TOGGLE" bitrange="14:14">
+</field>
+<field name="GRAB_TOGGLE" bitrange="13:13">
+</field>
+<field name="CHANGE_TOGGLE" bitrange="12:12">
+</field>
+<field name="TESTMODE" bitrange="11:11">
+</field>
+<field name="SLAVE_HOLD_CLK" bitrange="10:10">
+</field>
+<field name="SLAVE_STATE" bitrange="9:0">
+</field>
+</reg>
+<reg name="DEBUG1" sct="yes">
+<addr name="DEBUG1" addr="0x80" />
+<field name="I2C_CLK_IN" bitrange="31:31">
+</field>
+<field name="I2C_DATA_IN" bitrange="30:30">
+</field>
+<field name="DMA_BYTE_ENABLES" bitrange="27:24">
+</field>
+<field name="CLK_GEN_STATE" bitrange="22:16">
+</field>
+<field name="LST_MODE" bitrange="10:9">
+<value name="BCAST" value="0x0">
+</value>
+<value name="MY_WRITE" value="0x1">
+</value>
+<value name="MY_READ" value="0x2">
+</value>
+<value name="NOT_ME" value="0x3">
+</value>
+</field>
+<field name="LOCAL_SLAVE_TEST" bitrange="8:8">
+</field>
+<field name="FORCE_CLK_ON" bitrange="5:5">
+</field>
+<field name="FORCE_CLK_IDLE" bitrange="4:4">
+</field>
+<field name="FORCE_ARB_LOSS" bitrange="3:3">
+</field>
+<field name="FORCE_RCV_ACK" bitrange="2:2">
+</field>
+<field name="FORCE_I2C_DATA_OE" bitrange="1:1">
+</field>
+<field name="FORCE_I2C_CLK_OE" bitrange="0:0">
+</field>
+</reg>
+</dev>
+<dev name="HWECC" long_name="Hardware ECC" desc="Hardware ECC Accelerator" version="2.3.0">
+<addr name="HWECC" addr="0x80008000" />
+<reg name="CTRL" sct="yes">
+<addr name="CTRL" addr="0x0" />
+<field name="SFTRST" bitrange="31:31">
+</field>
+<field name="CLKGATE" bitrange="30:30">
+</field>
+<field name="NUM_SYMBOLS" bitrange="24:16">
+</field>
+<field name="DMAWAIT_COUNT" bitrange="12:8">
+</field>
+<field name="BYTE_ENABLE" bitrange="6:6">
+</field>
+<field name="ECC_SEL" bitrange="5:5">
+</field>
+<field name="ENC_SEL" bitrange="4:4">
+</field>
+<field name="UNCORR_IRQ" bitrange="2:2">
+</field>
+<field name="UNCORR_IRQ_EN" bitrange="1:1">
+</field>
+<field name="RUN" bitrange="0:0">
+</field>
+</reg>
+<reg name="STAT" sct="no">
+<addr name="STAT" addr="0x10" />
+<field name="RSDEC_PRESENT" bitrange="31:31">
+</field>
+<field name="RSENC_PRESENT" bitrange="30:30">
+</field>
+<field name="SSDEC_PRESENT" bitrange="29:29">
+</field>
+<field name="SSENC_PRESENT" bitrange="28:28">
+</field>
+</reg>
+<reg name="DEBUG0" sct="no">
+<addr name="DEBUG0" addr="0x20" />
+<field name="DMA_PENDCMD" bitrange="29:29">
+</field>
+<field name="DMA_PREQ" bitrange="28:28">
+</field>
+<field name="SYMBOL_STATE" bitrange="27:24">
+</field>
+<field name="CTRL_STATE" bitrange="21:16">
+</field>
+<field name="ECC_EXCEPTION" bitrange="15:12">
+</field>
+<field name="NUM_BIT_ERRORS" bitrange="9:4">
+</field>
+<field name="NUM_SYMBOL_ERRORS" bitrange="2:0">
+</field>
+</reg>
+<reg name="DEBUG1" sct="no">
+<addr name="DEBUG1" addr="0x30" />
+<field name="SYNDROME2" bitrange="26:18">
+</field>
+<field name="SYNDROME1" bitrange="17:9">
+</field>
+<field name="SYNDROME0" bitrange="8:0">
+</field>
+</reg>
+<reg name="DEBUG2" sct="no">
+<addr name="DEBUG2" addr="0x40" />
+<field name="SYNDROME5" bitrange="26:18">
+</field>
+<field name="SYNDROME4" bitrange="17:9">
+</field>
+<field name="SYNDROME3" bitrange="8:0">
+</field>
+</reg>
+<reg name="DEBUG3" sct="no">
+<addr name="DEBUG3" addr="0x50" />
+<field name="OMEGA0" bitrange="26:18">
+</field>
+<field name="SYNDROME7" bitrange="17:9">
+</field>
+<field name="SYNDROME6" bitrange="8:0">
+</field>
+</reg>
+<reg name="DEBUG4" sct="no">
+<addr name="DEBUG4" addr="0x60" />
+<field name="OMEGA3" bitrange="26:18">
+</field>
+<field name="OMEGA2" bitrange="17:9">
+</field>
+<field name="OMEGA1" bitrange="8:0">
+</field>
+</reg>
+<reg name="DEBUG5" sct="no">
+<addr name="DEBUG5" addr="0x70" />
+<field name="LAMBDA2" bitrange="26:18">
+</field>
+<field name="LAMBDA1" bitrange="17:9">
+</field>
+<field name="LAMBDA0" bitrange="8:0">
+</field>
+</reg>
+<reg name="DEBUG6" sct="no">
+<addr name="DEBUG6" addr="0x80" />
+<field name="LAMBDA4" bitrange="17:9">
+</field>
+<field name="LAMBDA3" bitrange="8:0">
+</field>
+</reg>
+<reg name="DATA" sct="yes">
+<addr name="DATA" addr="0x90" />
+<field name="DATA" bitrange="31:0">
+</field>
+</reg>
+</dev>
+<dev name="ICOLL" long_name="Interrupt Collector" desc="Interrupt Collector" version="2.3.0">
+<addr name="ICOLL" addr="0x80000000" />
+<reg name="VECTOR" sct="yes">
+<addr name="VECTOR" addr="0x0" />
+<field name="IRQVECTOR" bitrange="31:2">
+</field>
+</reg>
+<reg name="LEVELACK" sct="no">
+<addr name="LEVELACK" addr="0x10" />
+<field name="IRQLEVELACK" bitrange="3:0">
+<value name="LEVEL0" value="0x1">
+</value>
+<value name="LEVEL1" value="0x2">
+</value>
+<value name="LEVEL2" value="0x4">
+</value>
+<value name="LEVEL3" value="0x8">
+</value>
+</field>
+</reg>
+<reg name="CTRL" sct="yes">
+<addr name="CTRL" addr="0x20" />
+<field name="SFTRST" bitrange="31:31">
+<value name="RUN" value="0x0">
+</value>
+<value name="IN_RESET" value="0x1">
+</value>
+</field>
+<field name="CLKGATE" bitrange="30:30">
+<value name="RUN" value="0x0">
+</value>
+<value name="NO_CLOCKS" value="0x1">
+</value>
+</field>
+<field name="ENABLE2FIQ35" bitrange="27:27">
+<value name="DISABLE" value="0x0">
+</value>
+<value name="ENABLE" value="0x1">
+</value>
+</field>
+<field name="ENABLE2FIQ34" bitrange="26:26">
+<value name="DISABLE" value="0x0">
+</value>
+<value name="ENABLE" value="0x1">
+</value>
+</field>
+<field name="ENABLE2FIQ33" bitrange="25:25">
+<value name="DISABLE" value="0x0">
+</value>
+<value name="ENABLE" value="0x1">
+</value>
+</field>
+<field name="ENABLE2FIQ32" bitrange="24:24">
+<value name="DISABLE" value="0x0">
+</value>
+<value name="ENABLE" value="0x1">
+</value>
+</field>
+<field name="BYPASS_FSM" bitrange="20:20">
+<value name="NORMAL" value="0x0">
+</value>
+<value name="BYPASS" value="0x1">
+</value>
+</field>
+<field name="NO_NESTING" bitrange="19:19">
+<value name="NORMAL" value="0x0">
+</value>
+<value name="NO_NEST" value="0x1">
+</value>
+</field>
+<field name="ARM_RSE_MODE" bitrange="18:18">
+<value name="MUST_WRITE" value="0x0">
+</value>
+<value name="READ_SIDE_EFFECT" value="0x1">
+</value>
+</field>
+<field name="FIQ_FINAL_ENABLE" bitrange="17:17">
+<value name="DISABLE" value="0x0">
+</value>
+<value name="ENABLE" value="0x1">
+</value>
+</field>
+<field name="IRQ_FINAL_ENABLE" bitrange="16:16">
+<value name="DISABLE" value="0x0">
+</value>
+<value name="ENABLE" value="0x1">
+</value>
+</field>
+</reg>
+<reg name="STAT" sct="no">
+<addr name="STAT" addr="0x30" />
+<field name="VECTOR_NUMBER" bitrange="5:0">
+</field>
+</reg>
+<reg name="VBASE" sct="yes">
+<addr name="VBASE" addr="0x160" />
+<field name="TABLE_ADDRESS" bitrange="31:2">
+</field>
+</reg>
+<reg name="DEBUG" sct="no">
+<addr name="DEBUG" addr="0x170" />
+<field name="INSERVICE" bitrange="31:28">
+<value name="LEVEL0" value="0x1">
+</value>
+<value name="LEVEL1" value="0x2">
+</value>
+<value name="LEVEL2" value="0x4">
+</value>
+<value name="LEVEL3" value="0x8">
+</value>
+</field>
+<field name="LEVEL_REQUESTS" bitrange="27:24">
+<value name="LEVEL0" value="0x1">
+</value>
+<value name="LEVEL1" value="0x2">
+</value>
+<value name="LEVEL2" value="0x4">
+</value>
+<value name="LEVEL3" value="0x8">
+</value>
+</field>
+<field name="REQUESTS_BY_LEVEL" bitrange="23:20">
+<value name="LEVEL0" value="0x1">
+</value>
+<value name="LEVEL1" value="0x2">
+</value>
+<value name="LEVEL2" value="0x4">
+</value>
+<value name="LEVEL3" value="0x8">
+</value>
+</field>
+<field name="FIQ" bitrange="17:17">
+<value name="NO_FIQ_REQUESTED" value="0x0">
+</value>
+<value name="FIQ_REQUESTED" value="0x1">
+</value>
+</field>
+<field name="IRQ" bitrange="16:16">
+<value name="NO_IRQ_REQUESTED" value="0x0">
+</value>
+<value name="IRQ_REQUESTED" value="0x1">
+</value>
+</field>
+<field name="VECTOR_FSM" bitrange="9:0">
+<value name="FSM_IDLE" value="0x0">
+</value>
+<value name="FSM_MULTICYCLE1" value="0x1">
+</value>
+<value name="FSM_MULTICYCLE2" value="0x2">
+</value>
+<value name="FSM_PENDING" value="0x4">
+</value>
+<value name="FSM_MULTICYCLE3" value="0x8">
+</value>
+<value name="FSM_MULTICYCLE4" value="0x10">
+</value>
+<value name="FSM_ISR_RUNNING1" value="0x20">
+</value>
+<value name="FSM_ISR_RUNNING2" value="0x40">
+</value>
+<value name="FSM_ISR_RUNNING3" value="0x80">
+</value>
+<value name="FSM_MULTICYCLE5" value="0x100">
+</value>
+<value name="FSM_MULTICYCLE6" value="0x200">
+</value>
+</field>
+</reg>
+<reg name="DBGFLAG" sct="yes">
+<addr name="DBGFLAG" addr="0x1a0" />
+<field name="FLAG" bitrange="15:0">
+</field>
+</reg>
+<reg name="DBGREQUESTn" sct="no">
+<formula string="0x1b0+n*0x10"/>
+<addr name="DBGREQUEST0" addr="0x1b0" />
+<addr name="DBGREQUEST1" addr="0x1c0" />
+<field name="BITS" bitrange="31:0">
+</field>
+</reg>
+<reg name="RAWn" sct="no">
+<formula string="0x40+n*0x10"/>
+<addr name="RAW0" addr="0x40" />
+<addr name="RAW1" addr="0x50" />
+<field name="RAW_IRQS" bitrange="31:0">
+</field>
+</reg>
+<reg name="DBGREADn" sct="no">
+<formula string="0x180+n*0x10"/>
+<addr name="DBGREAD0" addr="0x180" />
+<addr name="DBGREAD1" addr="0x190" />
+<field name="VALUE" bitrange="31:0">
+</field>
+</reg>
+<reg name="PRIORITYn" sct="yes">
+<formula string="0x60+n*0x10"/>
+<addr name="PRIORITY0" addr="0x60" />
+<addr name="PRIORITY1" addr="0x70" />
+<addr name="PRIORITY2" addr="0x80" />
+<addr name="PRIORITY3" addr="0x90" />
+<addr name="PRIORITY4" addr="0xa0" />
+<addr name="PRIORITY5" addr="0xb0" />
+<addr name="PRIORITY6" addr="0xc0" />
+<addr name="PRIORITY7" addr="0xd0" />
+<addr name="PRIORITY8" addr="0xe0" />
+<addr name="PRIORITY9" addr="0xf0" />
+<addr name="PRIORITY10" addr="0x100" />
+<addr name="PRIORITY11" addr="0x110" />
+<addr name="PRIORITY12" addr="0x120" />
+<addr name="PRIORITY13" addr="0x130" />
+<addr name="PRIORITY14" addr="0x140" />
+<addr name="PRIORITY15" addr="0x150" />
+<field name="SOFTIRQ3" bitrange="27:27">
+<value name="NO_INTERRUPT" value="0x0">
+</value>
+<value name="FORCE_INTERRUPT" value="0x1">
+</value>
+</field>
+<field name="ENABLE3" bitrange="26:26">
+<value name="DISABLE" value="0x0">
+</value>
+<value name="ENABLE" value="0x1">
+</value>
+</field>
+<field name="PRIORITY3" bitrange="25:24">
+<value name="LEVEL0" value="0x0">
+</value>
+<value name="LEVEL1" value="0x1">
+</value>
+<value name="LEVEL2" value="0x2">
+</value>
+<value name="LEVEL3" value="0x3">
+</value>
+</field>
+<field name="SOFTIRQ2" bitrange="19:19">
+<value name="NO_INTERRUPT" value="0x0">
+</value>
+<value name="FORCE_INTERRUPT" value="0x1">
+</value>
+</field>
+<field name="ENABLE2" bitrange="18:18">
+<value name="DISABLE" value="0x0">
+</value>
+<value name="ENABLE" value="0x1">
+</value>
+</field>
+<field name="PRIORITY2" bitrange="17:16">
+<value name="LEVEL0" value="0x0">
+</value>
+<value name="LEVEL1" value="0x1">
+</value>
+<value name="LEVEL2" value="0x2">
+</value>
+<value name="LEVEL3" value="0x3">
+</value>
+</field>
+<field name="SOFTIRQ1" bitrange="11:11">
+<value name="NO_INTERRUPT" value="0x0">
+</value>
+<value name="FORCE_INTERRUPT" value="0x1">
+</value>
+</field>
+<field name="ENABLE1" bitrange="10:10">
+<value name="DISABLE" value="0x0">
+</value>
+<value name="ENABLE" value="0x1">
+</value>
+</field>
+<field name="PRIORITY1" bitrange="9:8">
+<value name="LEVEL0" value="0x0">
+</value>
+<value name="LEVEL1" value="0x1">
+</value>
+<value name="LEVEL2" value="0x2">
+</value>
+<value name="LEVEL3" value="0x3">
+</value>
+</field>
+<field name="SOFTIRQ0" bitrange="3:3">
+<value name="NO_INTERRUPT" value="0x0">
+</value>
+<value name="FORCE_INTERRUPT" value="0x1">
+</value>
+</field>
+<field name="ENABLE0" bitrange="2:2">
+<value name="DISABLE" value="0x0">
+</value>
+<value name="ENABLE" value="0x1">
+</value>
+</field>
+<field name="PRIORITY0" bitrange="1:0">
+<value name="LEVEL0" value="0x0">
+</value>
+<value name="LEVEL1" value="0x1">
+</value>
+<value name="LEVEL2" value="0x2">
+</value>
+<value name="LEVEL3" value="0x3">
+</value>
+</field>
+</reg>
+</dev>
+<dev name="IR" long_name="IrDA" desc="IrDA Controller" version="2.3.0">
+<addr name="IR" addr="0x80078000" />
+<reg name="CTRL" sct="yes">
+<addr name="CTRL" addr="0x0" />
+<field name="SFTRST" bitrange="31:31">
+<value name="RUN" value="0x0">
+</value>
+<value name="RESET" value="0x1">
+</value>
+</field>
+<field name="CLKGATE" bitrange="30:30">
+</field>
+<field name="MTA" bitrange="26:24">
+<value name="MTA_10MS" value="0x0">
+</value>
+<value name="MTA_5MS" value="0x1">
+</value>
+<value name="MTA_1MS" value="0x2">
+</value>
+<value name="MTA_500US" value="0x3">
+</value>
+<value name="MTA_100US" value="0x4">
+</value>
+<value name="MTA_50US" value="0x5">
+</value>
+<value name="MTA_10US" value="0x6">
+</value>
+<value name="MTA_0" value="0x7">
+</value>
+</field>
+<field name="MODE" bitrange="23:22">
+<value name="SIR" value="0x0">
+</value>
+<value name="MIR" value="0x1">
+</value>
+<value name="FIR" value="0x2">
+</value>
+<value name="VFIR" value="0x3">
+</value>
+</field>
+<field name="SPEED" bitrange="21:19">
+<value name="SPD000" value="0x0">
+</value>
+<value name="SPD001" value="0x1">
+</value>
+<value name="SPD010" value="0x2">
+</value>
+<value name="SPD011" value="0x3">
+</value>
+<value name="SPD100" value="0x4">
+</value>
+<value name="SPD101" value="0x5">
+</value>
+</field>
+<field name="TC_TIME_DIV" bitrange="13:8">
+</field>
+<field name="TC_TYPE" bitrange="7:7">
+</field>
+<field name="SIR_GAP" bitrange="6:4">
+<value name="GAP_10K" value="0x0">
+</value>
+<value name="GAP_5K" value="0x1">
+</value>
+<value name="GAP_1K" value="0x2">
+</value>
+<value name="GAP_500" value="0x3">
+</value>
+<value name="GAP_100" value="0x4">
+</value>
+<value name="GAP_50" value="0x5">
+</value>
+<value name="GAP_10" value="0x6">
+</value>
+<value name="GAP_0" value="0x7">
+</value>
+</field>
+<field name="SIPEN" bitrange="3:3">
+</field>
+<field name="TCEN" bitrange="2:2">
+</field>
+<field name="TXEN" bitrange="1:1">
+</field>
+<field name="RXEN" bitrange="0:0">
+</field>
+</reg>
+<reg name="TXDMA" sct="yes">
+<addr name="TXDMA" addr="0x10" />
+<field name="RUN" bitrange="31:31">
+</field>
+<field name="EMPTY" bitrange="29:29">
+</field>
+<field name="INT" bitrange="28:28">
+</field>
+<field name="CHANGE" bitrange="27:27">
+</field>
+<field name="NEW_MTA" bitrange="26:24">
+</field>
+<field name="NEW_MODE" bitrange="23:22">
+</field>
+<field name="NEW_SPEED" bitrange="21:19">
+</field>
+<field name="BOF_TYPE" bitrange="18:18">
+</field>
+<field name="XBOFS" bitrange="17:12">
+</field>
+<field name="XFER_COUNT" bitrange="11:0">
+</field>
+</reg>
+<reg name="RXDMA" sct="yes">
+<addr name="RXDMA" addr="0x20" />
+<field name="RUN" bitrange="31:31">
+</field>
+<field name="XFER_COUNT" bitrange="9:0">
+</field>
+</reg>
+<reg name="DBGCTRL" sct="yes">
+<addr name="DBGCTRL" addr="0x30" />
+<field name="VFIRSWZ" bitrange="12:12">
+<value name="NORMAL" value="0x0">
+</value>
+<value name="SWAP" value="0x1">
+</value>
+</field>
+<field name="RXFRMOFF" bitrange="11:11">
+</field>
+<field name="RXCRCOFF" bitrange="10:10">
+</field>
+<field name="RXINVERT" bitrange="9:9">
+</field>
+<field name="TXFRMOFF" bitrange="8:8">
+</field>
+<field name="TXCRCOFF" bitrange="7:7">
+</field>
+<field name="TXINVERT" bitrange="6:6">
+</field>
+<field name="INTLOOPBACK" bitrange="5:5">
+</field>
+<field name="DUPLEX" bitrange="4:4">
+</field>
+<field name="MIO_RX" bitrange="3:3">
+</field>
+<field name="MIO_TX" bitrange="2:2">
+</field>
+<field name="MIO_SCLK" bitrange="1:1">
+</field>
+<field name="MIO_EN" bitrange="0:0">
+</field>
+</reg>
+<reg name="INTR" sct="yes">
+<addr name="INTR" addr="0x40" />
+<field name="RXABORT_IRQ_EN" bitrange="22:22">
+<value name="DISABLED" value="0x0">
+</value>
+<value name="ENABLED" value="0x1">
+</value>
+</field>
+<field name="SPEED_IRQ_EN" bitrange="21:21">
+<value name="DISABLED" value="0x0">
+</value>
+<value name="ENABLED" value="0x1">
+</value>
+</field>
+<field name="RXOF_IRQ_EN" bitrange="20:20">
+<value name="DISABLED" value="0x0">
+</value>
+<value name="ENABLED" value="0x1">
+</value>
+</field>
+<field name="TXUF_IRQ_EN" bitrange="19:19">
+<value name="DISABLED" value="0x0">
+</value>
+<value name="ENABLED" value="0x1">
+</value>
+</field>
+<field name="TC_IRQ_EN" bitrange="18:18">
+<value name="DISABLED" value="0x0">
+</value>
+<value name="ENABLED" value="0x1">
+</value>
+</field>
+<field name="RX_IRQ_EN" bitrange="17:17">
+<value name="DISABLED" value="0x0">
+</value>
+<value name="ENABLED" value="0x1">
+</value>
+</field>
+<field name="TX_IRQ_EN" bitrange="16:16">
+<value name="DISABLED" value="0x0">
+</value>
+<value name="ENABLED" value="0x1">
+</value>
+</field>
+<field name="RXABORT_IRQ" bitrange="6:6">
+<value name="NO_REQUEST" value="0x0">
+</value>
+<value name="REQUEST" value="0x1">
+</value>
+</field>
+<field name="SPEED_IRQ" bitrange="5:5">
+<value name="NO_REQUEST" value="0x0">
+</value>
+<value name="REQUEST" value="0x1">
+</value>
+</field>
+<field name="RXOF_IRQ" bitrange="4:4">
+<value name="NO_REQUEST" value="0x0">
+</value>
+<value name="REQUEST" value="0x1">
+</value>
+</field>
+<field name="TXUF_IRQ" bitrange="3:3">
+<value name="NO_REQUEST" value="0x0">
+</value>
+<value name="REQUEST" value="0x1">
+</value>
+</field>
+<field name="TC_IRQ" bitrange="2:2">
+<value name="NO_REQUEST" value="0x0">
+</value>
+<value name="REQUEST" value="0x1">
+</value>
+</field>
+<field name="RX_IRQ" bitrange="1:1">
+<value name="NO_REQUEST" value="0x0">
+</value>
+<value name="REQUEST" value="0x1">
+</value>
+</field>
+<field name="TX_IRQ" bitrange="0:0">
+<value name="NO_REQUEST" value="0x0">
+</value>
+<value name="REQUEST" value="0x1">
+</value>
+</field>
+</reg>
+<reg name="DATA" sct="no">
+<addr name="DATA" addr="0x50" />
+<field name="DATA" bitrange="31:0">
+</field>
+</reg>
+<reg name="STAT" sct="no">
+<addr name="STAT" addr="0x60" />
+<field name="PRESENT" bitrange="31:31">
+<value name="UNAVAILABLE" value="0x0">
+</value>
+<value name="AVAILABLE" value="0x1">
+</value>
+</field>
+<field name="MODE_ALLOWED" bitrange="30:29">
+<value name="VFIR" value="0x0">
+</value>
+<value name="FIR" value="0x1">
+</value>
+<value name="MIR" value="0x2">
+</value>
+<value name="SIR" value="0x3">
+</value>
+</field>
+<field name="ANY_IRQ" bitrange="28:28">
+<value name="NO_REQUEST" value="0x0">
+</value>
+<value name="REQUEST" value="0x1">
+</value>
+</field>
+<field name="RXABORT_SUMMARY" bitrange="22:22">
+<value name="NO_REQUEST" value="0x0">
+</value>
+<value name="REQUEST" value="0x1">
+</value>
+</field>
+<field name="SPEED_SUMMARY" bitrange="21:21">
+<value name="NO_REQUEST" value="0x0">
+</value>
+<value name="REQUEST" value="0x1">
+</value>
+</field>
+<field name="RXOF_SUMMARY" bitrange="20:20">
+<value name="NO_REQUEST" value="0x0">
+</value>
+<value name="REQUEST" value="0x1">
+</value>
+</field>
+<field name="TXUF_SUMMARY" bitrange="19:19">
+<value name="NO_REQUEST" value="0x0">
+</value>
+<value name="REQUEST" value="0x1">
+</value>
+</field>
+<field name="TC_SUMMARY" bitrange="18:18">
+<value name="NO_REQUEST" value="0x0">
+</value>
+<value name="REQUEST" value="0x1">
+</value>
+</field>
+<field name="RX_SUMMARY" bitrange="17:17">
+<value name="NO_REQUEST" value="0x0">
+</value>
+<value name="REQUEST" value="0x1">
+</value>
+</field>
+<field name="TX_SUMMARY" bitrange="16:16">
+<value name="NO_REQUEST" value="0x0">
+</value>
+<value name="REQUEST" value="0x1">
+</value>
+</field>
+<field name="MEDIA_BUSY" bitrange="2:2">
+</field>
+<field name="RX_ACTIVE" bitrange="1:1">
+</field>
+<field name="TX_ACTIVE" bitrange="0:0">
+</field>
+</reg>
+<reg name="TCCTRL" sct="yes">
+<addr name="TCCTRL" addr="0x70" />
+<field name="INIT" bitrange="31:31">
+</field>
+<field name="GO" bitrange="30:30">
+</field>
+<field name="BUSY" bitrange="29:29">
+</field>
+<field name="TEMIC" bitrange="24:24">
+<value name="LOW" value="0x0">
+</value>
+<value name="HIGH" value="0x1">
+</value>
+</field>
+<field name="EXT_DATA" bitrange="23:16">
+</field>
+<field name="DATA" bitrange="15:8">
+</field>
+<field name="ADDR" bitrange="7:5">
+</field>
+<field name="INDX" bitrange="4:1">
+</field>
+<field name="C" bitrange="0:0">
+</field>
+</reg>
+<reg name="SI_READ" sct="no">
+<addr name="SI_READ" addr="0x80" />
+<field name="ABORT" bitrange="8:8">
+</field>
+<field name="DATA" bitrange="7:0">
+</field>
+</reg>
+<reg name="DEBUG" sct="no">
+<addr name="DEBUG" addr="0x90" />
+<field name="TXDMAKICK" bitrange="5:5">
+</field>
+<field name="RXDMAKICK" bitrange="4:4">
+</field>
+<field name="TXDMAEND" bitrange="3:3">
+</field>
+<field name="RXDMAEND" bitrange="2:2">
+</field>
+<field name="TXDMAREQ" bitrange="1:1">
+</field>
+<field name="RXDMAREQ" bitrange="0:0">
+</field>
+</reg>
+</dev>
+<dev name="LCDIF" long_name="LCD Interface" desc="LCD Interface (LCDIF)" version="2.3.0">
+<addr name="LCDIF" addr="0x80060000" />
+<reg name="CTRL" sct="yes">
+<addr name="CTRL" addr="0x0" />
+<field name="SFTRST" bitrange="31:31">
+</field>
+<field name="CLKGATE" bitrange="30:30">
+</field>
+<field name="PRESENT" bitrange="29:29">
+</field>
+<field name="BUSY_ENABLE" bitrange="25:25">
+<value name="BUSY_DISABLED" value="0x0">
+</value>
+<value name="BUSY_ENABLED" value="0x1">
+</value>
+</field>
+<field name="FIFO_STATUS" bitrange="24:24">
+<value name="FIFO_FULL" value="0x0">
+</value>
+<value name="FIFO_OK" value="0x1">
+</value>
+</field>
+<field name="DMA_REQ" bitrange="23:23">
+</field>
+<field name="DATA_SWIZZLE" bitrange="22:21">
+<value name="NO_SWAP" value="0x0">
+</value>
+<value name="LITTLE_ENDIAN" value="0x0">
+</value>
+<value name="BIG_ENDIAN_SWAP" value="0x1">
+</value>
+<value name="SWAP_ALL_BYTES" value="0x1">
+</value>
+<value name="HWD_SWAP" value="0x2">
+</value>
+<value name="HWD_BYTE_SWAP" value="0x3">
+</value>
+</field>
+<field name="RESET" bitrange="20:20">
+<value name="LCDRESET_LOW" value="0x0">
+</value>
+<value name="LCDRESET_HIGH" value="0x1">
+</value>
+</field>
+<field name="MODE86" bitrange="19:19">
+<value name="8080_MODE" value="0x0">
+</value>
+<value name="6800_MODE" value="0x1">
+</value>
+</field>
+<field name="DATA_SELECT" bitrange="18:18">
+<value name="CMD_MODE" value="0x0">
+</value>
+<value name="DATA_MODE" value="0x1">
+</value>
+</field>
+<field name="WORD_LENGTH" bitrange="17:17">
+<value name="16_BIT" value="0x0">
+</value>
+<value name="8_BIT" value="0x1">
+</value>
+</field>
+<field name="RUN" bitrange="16:16">
+</field>
+<field name="COUNT" bitrange="15:0">
+</field>
+</reg>
+<reg name="TIMING" sct="no">
+<addr name="TIMING" addr="0x10" />
+<field name="CMD_HOLD" bitrange="31:24">
+</field>
+<field name="CMD_SETUP" bitrange="23:16">
+</field>
+<field name="DATA_HOLD" bitrange="15:8">
+</field>
+<field name="DATA_SETUP" bitrange="7:0">
+</field>
+</reg>
+<reg name="DATA" sct="no">
+<addr name="DATA" addr="0x20" />
+<field name="DATA_THREE" bitrange="31:24">
+</field>
+<field name="DATA_TWO" bitrange="23:16">
+</field>
+<field name="DATA_ONE" bitrange="15:8">
+</field>
+<field name="DATA_ZERO" bitrange="7:0">
+</field>
+</reg>
+<reg name="DEBUG" sct="no">
+<addr name="DEBUG" addr="0x30" />
+<field name="BUSY" bitrange="27:27">
+</field>
+<field name="LAST_SUBWORD" bitrange="26:26">
+</field>
+<field name="SUBWORD_POSITION" bitrange="25:24">
+</field>
+<field name="EMPTY_WORD" bitrange="23:23">
+</field>
+<field name="STATE" bitrange="22:16">
+</field>
+<field name="DATA_COUNT" bitrange="15:0">
+</field>
+</reg>
+</dev>
+<dev name="LRADC" long_name="Low Resolution ADC" desc="Low-Resolution ADC and Touch-Screen Interface" version="2.3.0">
+<addr name="LRADC" addr="0x80050000" />
+<reg name="CTRL0" sct="yes">
+<addr name="CTRL0" addr="0x0" />
+<field name="SFTRST" bitrange="31:31">
+</field>
+<field name="CLKGATE" bitrange="30:30">
+</field>
+<field name="ONCHIP_GROUNDREF" bitrange="21:21">
+<value name="OFF" value="0x0">
+</value>
+<value name="ON" value="0x1">
+</value>
+</field>
+<field name="TOUCH_DETECT_ENABLE" bitrange="20:20">
+<value name="OFF" value="0x0">
+</value>
+<value name="ON" value="0x1">
+</value>
+</field>
+<field name="YMINUS_ENABLE" bitrange="19:19">
+<value name="OFF" value="0x0">
+</value>
+<value name="ON" value="0x1">
+</value>
+</field>
+<field name="XMINUS_ENABLE" bitrange="18:18">
+<value name="OFF" value="0x0">
+</value>
+<value name="ON" value="0x1">
+</value>
+</field>
+<field name="YPLUS_ENABLE" bitrange="17:17">
+<value name="OFF" value="0x0">
+</value>
+<value name="ON" value="0x1">
+</value>
+</field>
+<field name="XPLUS_ENABLE" bitrange="16:16">
+<value name="OFF" value="0x0">
+</value>
+<value name="ON" value="0x1">
+</value>
+</field>
+<field name="SCHEDULE" bitrange="7:0">
+</field>
+</reg>
+<reg name="CTRL1" sct="yes">
+<addr name="CTRL1" addr="0x10" />
+<field name="TOUCH_DETECT_IRQ_EN" bitrange="24:24">
+<value name="DISABLE" value="0x0">
+</value>
+<value name="ENABLE" value="0x1">
+</value>
+</field>
+<field name="LRADC7_IRQ_EN" bitrange="23:23">
+<value name="DISABLE" value="0x0">
+</value>
+<value name="ENABLE" value="0x1">
+</value>
+</field>
+<field name="LRADC6_IRQ_EN" bitrange="22:22">
+<value name="DISABLE" value="0x0">
+</value>
+<value name="ENABLE" value="0x1">
+</value>
+</field>
+<field name="LRADC5_IRQ_EN" bitrange="21:21">
+<value name="DISABLE" value="0x0">
+</value>
+<value name="ENABLE" value="0x1">
+</value>
+</field>
+<field name="LRADC4_IRQ_EN" bitrange="20:20">
+<value name="DISABLE" value="0x0">
+</value>
+<value name="ENABLE" value="0x1">
+</value>
+</field>
+<field name="LRADC3_IRQ_EN" bitrange="19:19">
+<value name="DISABLE" value="0x0">
+</value>
+<value name="ENABLE" value="0x1">
+</value>
+</field>
+<field name="LRADC2_IRQ_EN" bitrange="18:18">
+<value name="DISABLE" value="0x0">
+</value>
+<value name="ENABLE" value="0x1">
+</value>
+</field>
+<field name="LRADC1_IRQ_EN" bitrange="17:17">
+<value name="DISABLE" value="0x0">
+</value>
+<value name="ENABLE" value="0x1">
+</value>
+</field>
+<field name="LRADC0_IRQ_EN" bitrange="16:16">
+<value name="DISABLE" value="0x0">
+</value>
+<value name="ENABLE" value="0x1">
+</value>
+</field>
+<field name="TOUCH_DETECT_IRQ" bitrange="8:8">
+<value name="CLEAR" value="0x0">
+</value>
+<value name="PENDING" value="0x1">
+</value>
+</field>
+<field name="LRADC7_IRQ" bitrange="7:7">
+<value name="CLEAR" value="0x0">
+</value>
+<value name="PENDING" value="0x1">
+</value>
+</field>
+<field name="LRADC6_IRQ" bitrange="6:6">
+<value name="CLEAR" value="0x0">
+</value>
+<value name="PENDING" value="0x1">
+</value>
+</field>
+<field name="LRADC5_IRQ" bitrange="5:5">
+<value name="CLEAR" value="0x0">
+</value>
+<value name="PENDING" value="0x1">
+</value>
+</field>
+<field name="LRADC4_IRQ" bitrange="4:4">
+<value name="CLEAR" value="0x0">
+</value>
+<value name="PENDING" value="0x1">
+</value>
+</field>
+<field name="LRADC3_IRQ" bitrange="3:3">
+<value name="CLEAR" value="0x0">
+</value>
+<value name="PENDING" value="0x1">
+</value>
+</field>
+<field name="LRADC2_IRQ" bitrange="2:2">
+<value name="CLEAR" value="0x0">
+</value>
+<value name="PENDING" value="0x1">
+</value>
+</field>
+<field name="LRADC1_IRQ" bitrange="1:1">
+<value name="CLEAR" value="0x0">
+</value>
+<value name="PENDING" value="0x1">
+</value>
+</field>
+<field name="LRADC0_IRQ" bitrange="0:0">
+<value name="CLEAR" value="0x0">
+</value>
+<value name="PENDING" value="0x1">
+</value>
+</field>
+</reg>
+<reg name="CTRL2" sct="yes">
+<addr name="CTRL2" addr="0x20" />
+<field name="DIVIDE_BY_TWO" bitrange="31:24">
+</field>
+<field name="LRADC6SELECT" bitrange="23:20">
+<value name="CHANNEL0" value="0x0">
+</value>
+<value name="CHANNEL1" value="0x1">
+</value>
+<value name="CHANNEL2" value="0x2">
+</value>
+<value name="CHANNEL3" value="0x3">
+</value>
+<value name="CHANNEL4" value="0x4">
+</value>
+<value name="CHANNEL5" value="0x5">
+</value>
+<value name="CHANNEL6" value="0x6">
+</value>
+<value name="CHANNEL7" value="0x7">
+</value>
+<value name="CHANNEL8" value="0x8">
+</value>
+<value name="CHANNEL9" value="0x9">
+</value>
+<value name="CHANNEL10" value="0xa">
+</value>
+<value name="CHANNEL11" value="0xb">
+</value>
+<value name="CHANNEL12" value="0xc">
+</value>
+<value name="CHANNEL13" value="0xd">
+</value>
+<value name="CHANNEL14" value="0xe">
+</value>
+<value name="CHANNEL15" value="0xf">
+</value>
+</field>
+<field name="LRADC7SELECT" bitrange="19:16">
+<value name="CHANNEL0" value="0x0">
+</value>
+<value name="CHANNEL1" value="0x1">
+</value>
+<value name="CHANNEL2" value="0x2">
+</value>
+<value name="CHANNEL3" value="0x3">
+</value>
+<value name="CHANNEL4" value="0x4">
+</value>
+<value name="CHANNEL5" value="0x5">
+</value>
+<value name="CHANNEL6" value="0x6">
+</value>
+<value name="CHANNEL7" value="0x7">
+</value>
+<value name="CHANNEL8" value="0x8">
+</value>
+<value name="CHANNEL9" value="0x9">
+</value>
+<value name="CHANNEL10" value="0xa">
+</value>
+<value name="CHANNEL11" value="0xb">
+</value>
+<value name="CHANNEL12" value="0xc">
+</value>
+<value name="CHANNEL13" value="0xd">
+</value>
+<value name="CHANNEL14" value="0xe">
+</value>
+<value name="CHANNEL15" value="0xf">
+</value>
+</field>
+<field name="TEMP_SENSOR_IENABLE1" bitrange="9:9">
+<value name="DISABLE" value="0x0">
+</value>
+<value name="ENABLE" value="0x1">
+</value>
+</field>
+<field name="TEMP_SENSOR_IENABLE0" bitrange="8:8">
+<value name="DISABLE" value="0x0">
+</value>
+<value name="ENABLE" value="0x1">
+</value>
+</field>
+<field name="TEMP_ISRC1" bitrange="7:4">
+<value name="300" value="0xf">
+</value>
+<value name="280" value="0xe">
+</value>
+<value name="260" value="0xd">
+</value>
+<value name="240" value="0xc">
+</value>
+<value name="220" value="0xb">
+</value>
+<value name="200" value="0xa">
+</value>
+<value name="180" value="0x9">
+</value>
+<value name="160" value="0x8">
+</value>
+<value name="140" value="0x7">
+</value>
+<value name="120" value="0x6">
+</value>
+<value name="100" value="0x5">
+</value>
+<value name="80" value="0x4">
+</value>
+<value name="60" value="0x3">
+</value>
+<value name="40" value="0x2">
+</value>
+<value name="20" value="0x1">
+</value>
+<value name="ZERO" value="0x0">
+</value>
+</field>
+<field name="TEMP_ISRC0" bitrange="3:0">
+<value name="300" value="0xf">
+</value>
+<value name="280" value="0xe">
+</value>
+<value name="260" value="0xd">
+</value>
+<value name="240" value="0xc">
+</value>
+<value name="220" value="0xb">
+</value>
+<value name="200" value="0xa">
+</value>
+<value name="180" value="0x9">
+</value>
+<value name="160" value="0x8">
+</value>
+<value name="140" value="0x7">
+</value>
+<value name="120" value="0x6">
+</value>
+<value name="100" value="0x5">
+</value>
+<value name="80" value="0x4">
+</value>
+<value name="60" value="0x3">
+</value>
+<value name="40" value="0x2">
+</value>
+<value name="20" value="0x1">
+</value>
+<value name="ZERO" value="0x0">
+</value>
+</field>
+</reg>
+<reg name="CTRL3" sct="yes">
+<addr name="CTRL3" addr="0x30" />
+<field name="DISCARD" bitrange="25:24">
+<value name="1_SAMPLE" value="0x1">
+</value>
+<value name="2_SAMPLES" value="0x2">
+</value>
+<value name="3_SAMPLES" value="0x3">
+</value>
+</field>
+<field name="FORCE_ANALOG_PWUP" bitrange="23:23">
+<value name="OFF" value="0x0">
+</value>
+<value name="ON" value="0x1">
+</value>
+</field>
+<field name="FORCE_ANALOG_PWDN" bitrange="22:22">
+<value name="ON" value="0x0">
+</value>
+<value name="OFF" value="0x1">
+</value>
+</field>
+<field name="FORCE_PWD40UA_PWUP" bitrange="21:21">
+<value name="OFF" value="0x0">
+</value>
+<value name="ON" value="0x1">
+</value>
+</field>
+<field name="FORCE_PWD40UA_PWDN" bitrange="20:20">
+<value name="ON" value="0x0">
+</value>
+<value name="OFF" value="0x1">
+</value>
+</field>
+<field name="VDD_FILTER" bitrange="17:16">
+<value name="0OHMS" value="0x0">
+</value>
+<value name="100OHMS" value="0x1">
+</value>
+<value name="250OHMS" value="0x2">
+</value>
+<value name="5000OHMS" value="0x3">
+</value>
+</field>
+<field name="ADD_CAP2INPUTS" bitrange="13:12">
+<value name="0PF" value="0x0">
+</value>
+<value name="0_5PF" value="0x1">
+</value>
+<value name="1_0PF" value="0x2">
+</value>
+<value name="2_5PF" value="0x3">
+</value>
+</field>
+<field name="CYCLE_TIME" bitrange="9:8">
+<value name="6MHZ" value="0x0">
+</value>
+<value name="4MHZ" value="0x1">
+</value>
+<value name="3MHZ" value="0x2">
+</value>
+<value name="2MHZ" value="0x3">
+</value>
+</field>
+<field name="HIGH_TIME" bitrange="5:4">
+<value name="42NS" value="0x0">
+</value>
+<value name="83NS" value="0x1">
+</value>
+<value name="125NS" value="0x2">
+</value>
+<value name="250NS" value="0x3">
+</value>
+</field>
+<field name="REMOVE_CFILT" bitrange="3:3">
+<value name="OFF" value="0x0">
+</value>
+<value name="ON" value="0x1">
+</value>
+</field>
+<field name="SHORT_RFILT" bitrange="2:2">
+<value name="OFF" value="0x0">
+</value>
+<value name="ON" value="0x1">
+</value>
+</field>
+<field name="DELAY_CLOCK" bitrange="1:1">
+<value name="NORMAL" value="0x0">
+</value>
+<value name="DELAYED" value="0x1">
+</value>
+</field>
+<field name="INVERT_CLOCK" bitrange="0:0">
+<value name="NORMAL" value="0x0">
+</value>
+<value name="INVERT" value="0x1">
+</value>
+</field>
+</reg>
+<reg name="STATUS" sct="no">
+<addr name="STATUS" addr="0x40" />
+<field name="TEMP1_PRESENT" bitrange="26:26">
+</field>
+<field name="TEMP0_PRESENT" bitrange="25:25">
+</field>
+<field name="TOUCH_PANEL_PRESENT" bitrange="24:24">
+</field>
+<field name="CHANNEL7_PRESENT" bitrange="23:23">
+</field>
+<field name="CHANNEL6_PRESENT" bitrange="22:22">
+</field>
+<field name="CHANNEL5_PRESENT" bitrange="21:21">
+</field>
+<field name="CHANNEL4_PRESENT" bitrange="20:20">
+</field>
+<field name="CHANNEL3_PRESENT" bitrange="19:19">
+</field>
+<field name="CHANNEL2_PRESENT" bitrange="18:18">
+</field>
+<field name="CHANNEL1_PRESENT" bitrange="17:17">
+</field>
+<field name="CHANNEL0_PRESENT" bitrange="16:16">
+</field>
+<field name="TOUCH_DETECT_RAW" bitrange="0:0">
+<value name="OPEN" value="0x0">
+</value>
+<value name="HIT" value="0x1">
+</value>
+</field>
+</reg>
+<reg name="DEBUG0" sct="no">
+<addr name="DEBUG0" addr="0x110" />
+<field name="READONLY" bitrange="31:16">
+</field>
+<field name="STATE" bitrange="11:0">
+</field>
+</reg>
+<reg name="DEBUG1" sct="yes">
+<addr name="DEBUG1" addr="0x120" />
+<field name="REQUEST" bitrange="23:16">
+</field>
+<field name="TESTMODE_COUNT" bitrange="12:8">
+</field>
+<field name="TESTMODE6" bitrange="2:2">
+<value name="NORMAL" value="0x0">
+</value>
+<value name="TEST" value="0x1">
+</value>
+</field>
+<field name="TESTMODE5" bitrange="1:1">
+<value name="NORMAL" value="0x0">
+</value>
+<value name="TEST" value="0x1">
+</value>
+</field>
+<field name="TESTMODE" bitrange="0:0">
+<value name="NORMAL" value="0x0">
+</value>
+<value name="TEST" value="0x1">
+</value>
+</field>
+</reg>
+<reg name="CONVERSION" sct="yes">
+<addr name="CONVERSION" addr="0x130" />
+<field name="AUTOMATIC" bitrange="20:20">
+<value name="DISABLE" value="0x0">
+</value>
+<value name="ENABLE" value="0x1">
+</value>
+</field>
+<field name="SCALE_FACTOR" bitrange="17:16">
+<value name="NIMH" value="0x0">
+</value>
+<value name="DUAL_NIMH" value="0x1">
+</value>
+<value name="LI_ION" value="0x2">
+</value>
+<value name="ALT_LI_ION" value="0x3">
+</value>
+</field>
+<field name="SCALED_BATT_VOLTAGE" bitrange="9:0">
+</field>
+</reg>
+<reg name="DELAYn" sct="yes">
+<formula string="0xd0+n*0x10"/>
+<addr name="DELAY0" addr="0xd0" />
+<addr name="DELAY1" addr="0xe0" />
+<addr name="DELAY2" addr="0xf0" />
+<addr name="DELAY3" addr="0x100" />
+<field name="TRIGGER_LRADCS" bitrange="31:24">
+</field>
+<field name="KICK" bitrange="20:20">
+</field>
+<field name="TRIGGER_DELAYS" bitrange="19:16">
+</field>
+<field name="LOOP_COUNT" bitrange="15:11">
+</field>
+<field name="DELAY" bitrange="10:0">
+</field>
+</reg>
+<reg name="CHn" sct="yes">
+<formula string="0x50+n*0x10"/>
+<addr name="CH0" addr="0x50" />
+<addr name="CH1" addr="0x60" />
+<addr name="CH2" addr="0x70" />
+<addr name="CH3" addr="0x80" />
+<addr name="CH4" addr="0x90" />
+<addr name="CH5" addr="0xa0" />
+<addr name="CH6" addr="0xb0" />
+<addr name="CH7" addr="0xc0" />
+<field name="TOGGLE" bitrange="31:31">
+</field>
+<field name="ACCUMULATE" bitrange="29:29">
+</field>
+<field name="NUM_SAMPLES" bitrange="28:24">
+</field>
+<field name="VALUE" bitrange="17:0">
+</field>
+</reg>
+</dev>
+<dev name="MEMCPY" long_name="MEMCPY Interface" desc="MEMCPY Interface" version="2.3.0">
+<addr name="MEMCPY" addr="0x80014000" />
+<reg name="CTRL" sct="yes">
+<addr name="CTRL" addr="0x0" />
+<field name="SFTRST" bitrange="31:31">
+<value name="RUN" value="0x0">
+</value>
+<value name="RESET" value="0x1">
+</value>
+</field>
+<field name="CLKGATE" bitrange="30:30">
+<value name="RUN" value="0x0">
+</value>
+<value name="NO_CLKS" value="0x1">
+</value>
+</field>
+<field name="PRESENT" bitrange="29:29">
+<value name="UNAVAILABLE" value="0x0">
+</value>
+<value name="AVAILABLE" value="0x1">
+</value>
+</field>
+<field name="BURST" bitrange="16:16">
+</field>
+<field name="XFER_SIZE" bitrange="15:0">
+</field>
+</reg>
+<reg name="DATA" sct="yes">
+<addr name="DATA" addr="0x10" />
+<field name="DATA" bitrange="31:0">
+</field>
+</reg>
+<reg name="DEBUG" sct="no">
+<addr name="DEBUG" addr="0x20" />
+<field name="DST_END_CMD" bitrange="30:30">
+</field>
+<field name="DST_KICK" bitrange="29:29">
+</field>
+<field name="DST_DMA_REQ" bitrange="28:28">
+</field>
+<field name="SRC_KICK" bitrange="25:25">
+</field>
+<field name="SRC_DMA_REQ" bitrange="24:24">
+</field>
+<field name="WRITE_STATE" bitrange="3:2">
+</field>
+<field name="READ_STATE" bitrange="1:0">
+</field>
+</reg>
+</dev>
+<dev name="PINCTRL" long_name="Pin Control" desc="Pin Control and GPIO" version="2.3.0">
+<addr name="PINCTRL" addr="0x80018000" />
+<reg name="CTRL" sct="yes">
+<addr name="CTRL" addr="0x0" />
+<field name="SFTRST" bitrange="31:31">
+</field>
+<field name="CLKGATE" bitrange="30:30">
+</field>
+<field name="PRESENT3" bitrange="29:29">
+</field>
+<field name="PRESENT2" bitrange="28:28">
+</field>
+<field name="PRESENT1" bitrange="27:27">
+</field>
+<field name="PRESENT0" bitrange="26:26">
+</field>
+<field name="IRQOUT3" bitrange="3:3">
+</field>
+<field name="IRQOUT2" bitrange="2:2">
+</field>
+<field name="IRQOUT1" bitrange="1:1">
+</field>
+<field name="IRQOUT0" bitrange="0:0">
+</field>
+</reg>
+<reg name="MUXSELLn" sct="yes">
+<formula string="0x10+n*0x100"/>
+<addr name="MUXSELL0" addr="0x10" />
+<addr name="MUXSELL1" addr="0x110" />
+<addr name="MUXSELL2" addr="0x210" />
+<addr name="MUXSELL3" addr="0x310" />
+<field name="BITS" bitrange="31:0">
+</field>
+</reg>
+<reg name="MUXSELHn" sct="yes">
+<formula string="0x20+n*0x100"/>
+<addr name="MUXSELH0" addr="0x20" />
+<addr name="MUXSELH1" addr="0x120" />
+<addr name="MUXSELH2" addr="0x220" />
+<addr name="MUXSELH3" addr="0x320" />
+<field name="BITS" bitrange="31:0">
+</field>
+</reg>
+<reg name="DRIVEn" sct="yes">
+<formula string="0x30+n*0x100"/>
+<addr name="DRIVE0" addr="0x30" />
+<addr name="DRIVE1" addr="0x130" />
+<addr name="DRIVE2" addr="0x230" />
+<addr name="DRIVE3" addr="0x330" />
+<field name="BITS" bitrange="31:0">
+</field>
+</reg>
+<reg name="DOUTn" sct="yes">
+<formula string="0x50+n*0x100"/>
+<addr name="DOUT0" addr="0x50" />
+<addr name="DOUT1" addr="0x150" />
+<addr name="DOUT2" addr="0x250" />
+<addr name="DOUT3" addr="0x350" />
+<field name="BITS" bitrange="31:0">
+</field>
+</reg>
+<reg name="DINn" sct="yes">
+<formula string="0x60+n*0x100"/>
+<addr name="DIN0" addr="0x60" />
+<addr name="DIN1" addr="0x160" />
+<addr name="DIN2" addr="0x260" />
+<addr name="DIN3" addr="0x360" />
+<field name="BITS" bitrange="31:0">
+</field>
+</reg>
+<reg name="DOEn" sct="yes">
+<formula string="0x70+n*0x100"/>
+<addr name="DOE0" addr="0x70" />
+<addr name="DOE1" addr="0x170" />
+<addr name="DOE2" addr="0x270" />
+<addr name="DOE3" addr="0x370" />
+<field name="BITS" bitrange="31:0">
+</field>
+</reg>
+<reg name="PIN2IRQn" sct="yes">
+<formula string="0x80+n*0x100"/>
+<addr name="PIN2IRQ0" addr="0x80" />
+<addr name="PIN2IRQ1" addr="0x180" />
+<addr name="PIN2IRQ2" addr="0x280" />
+<addr name="PIN2IRQ3" addr="0x380" />
+<field name="BITS" bitrange="31:0">
+</field>
+</reg>
+<reg name="IRQENn" sct="yes">
+<formula string="0x90+n*0x100"/>
+<addr name="IRQEN0" addr="0x90" />
+<addr name="IRQEN1" addr="0x190" />
+<addr name="IRQEN2" addr="0x290" />
+<addr name="IRQEN3" addr="0x390" />
+<field name="BITS" bitrange="31:0">
+</field>
+</reg>
+<reg name="IRQLEVELn" sct="yes">
+<formula string="0xa0+n*0x100"/>
+<addr name="IRQLEVEL0" addr="0xa0" />
+<addr name="IRQLEVEL1" addr="0x1a0" />
+<addr name="IRQLEVEL2" addr="0x2a0" />
+<addr name="IRQLEVEL3" addr="0x3a0" />
+<field name="BITS" bitrange="31:0">
+</field>
+</reg>
+<reg name="IRQPOLn" sct="yes">
+<formula string="0xb0+n*0x100"/>
+<addr name="IRQPOL0" addr="0xb0" />
+<addr name="IRQPOL1" addr="0x1b0" />
+<addr name="IRQPOL2" addr="0x2b0" />
+<addr name="IRQPOL3" addr="0x3b0" />
+<field name="BITS" bitrange="31:0">
+</field>
+</reg>
+<reg name="IRQSTATn" sct="yes">
+<formula string="0xc0+n*0x100"/>
+<addr name="IRQSTAT0" addr="0xc0" />
+<addr name="IRQSTAT1" addr="0x1c0" />
+<addr name="IRQSTAT2" addr="0x2c0" />
+<addr name="IRQSTAT3" addr="0x3c0" />
+<field name="BITS" bitrange="31:0">
+</field>
+</reg>
+</dev>
+<dev name="POWER" long_name="Power Control" desc="Power Supply" version="2.3.0">
+<addr name="POWER" addr="0x80044000" />
+<reg name="CTRL" sct="yes">
+<addr name="CTRL" addr="0x0" />
+<field name="CLKGATE" bitrange="30:30">
+</field>
+<field name="BATT_BO_IRQ" bitrange="8:8">
+</field>
+<field name="ENIRQBATT_BO" bitrange="7:7">
+</field>
+<field name="VDDIO_BO_IRQ" bitrange="6:6">
+</field>
+<field name="ENIRQVDDIO_BO" bitrange="5:5">
+</field>
+<field name="VDDD_BO_IRQ" bitrange="4:4">
+</field>
+<field name="ENIRQVDDD_BO" bitrange="3:3">
+</field>
+<field name="POLARITY_VDD5V_GT_VDDIO" bitrange="2:2">
+</field>
+<field name="VDD5V_GT_VDDIO_IRQ" bitrange="1:1">
+</field>
+<field name="ENIRQ_VDD5V_GT_VDDIO" bitrange="0:0">
+</field>
+</reg>
+<reg name="5VCTRL" sct="yes">
+<addr name="5VCTRL" addr="0x10" />
+<field name="PWDN_5VBRNOUT" bitrange="21:21">
+</field>
+<field name="PWDN_IOBRNOUT" bitrange="20:20">
+</field>
+<field name="DISABLE_ILIMIT" bitrange="19:19">
+</field>
+<field name="DCDC_XFER" bitrange="18:18">
+</field>
+<field name="EN_BATT_PULLDN" bitrange="17:17">
+</field>
+<field name="VBUSVALID_5VDETECT" bitrange="16:16">
+</field>
+<field name="VBUSVALID_TRSH" bitrange="9:8">
+</field>
+<field name="USB_SUSPEND_I" bitrange="7:7">
+</field>
+<field name="VBUSVALID_TO_B" bitrange="6:6">
+</field>
+<field name="ILIMIT_EQ_ZERO" bitrange="5:5">
+</field>
+<field name="OTG_PWRUP_CMPS" bitrange="4:4">
+</field>
+<field name="EN_DCDC2" bitrange="3:3">
+</field>
+<field name="PWD_VDDD_LINREG" bitrange="2:2">
+</field>
+<field name="EN_DCDC1" bitrange="1:1">
+</field>
+<field name="LINREG_OFFSET" bitrange="0:0">
+</field>
+</reg>
+<reg name="MINPWR" sct="yes">
+<addr name="MINPWR" addr="0x20" />
+<field name="TEST_DISCHRG_VBUS" bitrange="23:23">
+</field>
+<field name="TEST_CHRG_VBUS" bitrange="22:22">
+</field>
+<field name="DC2_TST" bitrange="21:21">
+</field>
+<field name="DC1_TST" bitrange="20:20">
+</field>
+<field name="PERIPHERALSWOFF" bitrange="19:19">
+</field>
+<field name="TOGGLE_DIF" bitrange="18:18">
+</field>
+<field name="DISABLE_VDDIOSTEP" bitrange="17:17">
+</field>
+<field name="DISABLE_VDDSTEP" bitrange="16:16">
+</field>
+<field name="SEL_PLLDIV16CLK" bitrange="9:9">
+</field>
+<field name="PWD_VDDIOBO" bitrange="8:8">
+</field>
+<field name="LESSANA_I" bitrange="7:7">
+</field>
+<field name="DC1_HALFFETS" bitrange="6:6">
+</field>
+<field name="DC2_STOPCLK" bitrange="5:5">
+</field>
+<field name="DC1_STOPCLK" bitrange="4:4">
+</field>
+<field name="EN_DC2_PFM" bitrange="3:3">
+</field>
+<field name="EN_DC1_PFM" bitrange="2:2">
+</field>
+<field name="DC2_HALFCLK" bitrange="1:1">
+</field>
+<field name="DC1_HALFCLK" bitrange="0:0">
+</field>
+</reg>
+<reg name="BATTCHRG" sct="yes">
+<addr name="BATTCHRG" addr="0x30" />
+<field name="CHRG_STS_OFF" bitrange="19:19">
+</field>
+<field name="LIION_4P1" bitrange="18:18">
+</field>
+<field name="USE_EXTERN_R" bitrange="17:17">
+</field>
+<field name="PWD_BATTCHRG" bitrange="16:16">
+</field>
+<field name="STOP_ILIMIT" bitrange="11:8">
+</field>
+<field name="BATTCHRG_I" bitrange="5:0">
+</field>
+</reg>
+<reg name="VDDCTRL" sct="no">
+<addr name="VDDCTRL" addr="0x40" />
+<field name="VDDIO_BO" bitrange="28:24">
+</field>
+<field name="VDDIO_TRG" bitrange="20:16">
+</field>
+<field name="VDDD_BO" bitrange="12:8">
+</field>
+<field name="VDDD_TRG" bitrange="4:0">
+</field>
+</reg>
+<reg name="DC1MULTOUT" sct="no">
+<addr name="DC1MULTOUT" addr="0x50" />
+<field name="FUNCV" bitrange="24:16">
+</field>
+<field name="EN_BATADJ" bitrange="8:8">
+</field>
+<field name="ADJTN" bitrange="3:0">
+</field>
+</reg>
+<reg name="DC1LIMITS" sct="no">
+<addr name="DC1LIMITS" addr="0x60" />
+<field name="EN_PFETOFF" bitrange="24:24">
+</field>
+<field name="POSLIMIT_BOOST" bitrange="22:16">
+</field>
+<field name="POSLIMIT_BUCK" bitrange="14:8">
+</field>
+<field name="NEGLIMIT" bitrange="6:0">
+</field>
+</reg>
+<reg name="DC2LIMITS" sct="no">
+<addr name="DC2LIMITS" addr="0x70" />
+<field name="EN_BOOST" bitrange="24:24">
+</field>
+<field name="POSLIMIT_BOOST" bitrange="22:16">
+</field>
+<field name="POSLIMIT_BUCK" bitrange="14:8">
+</field>
+<field name="NEGLIMIT" bitrange="6:0">
+</field>
+</reg>
+<reg name="LOOPCTRL" sct="yes">
+<addr name="LOOPCTRL" addr="0x80" />
+<field name="TRAN_NOHYST" bitrange="30:30">
+</field>
+<field name="HYST_SIGN" bitrange="29:29">
+</field>
+<field name="EN_CMP_HYST" bitrange="28:28">
+</field>
+<field name="EN_DC2_RCSCALE" bitrange="27:27">
+</field>
+<field name="EN_DC1_RCSCALE" bitrange="26:26">
+</field>
+<field name="RC_SIGN" bitrange="25:25">
+</field>
+<field name="EN_RCSCALE" bitrange="24:24">
+</field>
+<field name="DC2_FF" bitrange="22:20">
+</field>
+<field name="DC2_R" bitrange="19:16">
+</field>
+<field name="DC2_C" bitrange="13:12">
+</field>
+<field name="DC1_FF" bitrange="10:8">
+</field>
+<field name="DC1_R" bitrange="7:4">
+</field>
+<field name="DC1_C" bitrange="1:0">
+</field>
+</reg>
+<reg name="STS" sct="no">
+<addr name="STS" addr="0x90" />
+<field name="BATT_CHRG_PRESENT" bitrange="31:31">
+</field>
+<field name="MODE" bitrange="21:20">
+</field>
+<field name="BATT_BO" bitrange="16:16">
+</field>
+<field name="CHRGSTS" bitrange="14:14">
+</field>
+<field name="DC2_OK" bitrange="13:13">
+</field>
+<field name="DC1_OK" bitrange="12:12">
+</field>
+<field name="VDDIO_BO" bitrange="9:9">
+</field>
+<field name="VDDD_BO" bitrange="8:8">
+</field>
+<field name="VDD5V_GT_VDDIO" bitrange="4:4">
+</field>
+<field name="AVALID" bitrange="3:3">
+</field>
+<field name="BVALID" bitrange="2:2">
+</field>
+<field name="VBUSVALID" bitrange="1:1">
+</field>
+<field name="SESSEND" bitrange="0:0">
+</field>
+</reg>
+<reg name="SPEEDTEMP" sct="yes">
+<addr name="SPEEDTEMP" addr="0xa0" />
+<field name="SPEED_STS1" bitrange="31:24">
+</field>
+<field name="SPEED_STS2" bitrange="23:16">
+</field>
+<field name="TEMP_STS" bitrange="11:8">
+</field>
+<field name="SPEED_CTRL" bitrange="5:4">
+</field>
+<field name="TEMP_CTRL" bitrange="3:0">
+</field>
+</reg>
+<reg name="BATTMONITOR" sct="no">
+<addr name="BATTMONITOR" addr="0xb0" />
+<field name="BATT_VAL" bitrange="25:16">
+</field>
+<field name="PWDN_BATTBRNOUT" bitrange="9:9">
+</field>
+<field name="BRWNOUT_PWD" bitrange="8:8">
+</field>
+<field name="BRWNOUT_LVL" bitrange="3:0">
+</field>
+</reg>
+<reg name="RESET" sct="yes">
+<addr name="RESET" addr="0xc0" />
+<field name="UNLOCK" bitrange="31:16">
+<value name="KEY" value="0x3e77">
+</value>
+</field>
+<field name="PWD_OFF" bitrange="4:4">
+</field>
+<field name="POR" bitrange="3:3">
+</field>
+<field name="PWD" bitrange="2:2">
+</field>
+<field name="RST_DIG" bitrange="1:1">
+</field>
+<field name="RST_ALL" bitrange="0:0">
+</field>
+</reg>
+<reg name="DEBUG" sct="yes">
+<addr name="DEBUG" addr="0xd0" />
+<field name="ENCTRLVBUS" bitrange="4:4">
+</field>
+<field name="VBUSVALIDPIOLOCK" bitrange="3:3">
+</field>
+<field name="AVALIDPIOLOCK" bitrange="2:2">
+</field>
+<field name="BVALIDPIOLOCK" bitrange="1:1">
+</field>
+<field name="SESSENDPIOLOCK" bitrange="0:0">
+</field>
+</reg>
+</dev>
+<dev name="PWM" long_name="Pulse width Modulation" desc="Pulse-Width Modulator (PWM) Controller" version="2.3.0">
+<addr name="PWM" addr="0x80064000" />
+<reg name="CTRL" sct="yes">
+<addr name="CTRL" addr="0x0" />
+<field name="SFTRST" bitrange="31:31">
+</field>
+<field name="CLKGATE" bitrange="30:30">
+</field>
+<field name="PWM4_PRESENT" bitrange="29:29">
+</field>
+<field name="PWM3_PRESENT" bitrange="28:28">
+</field>
+<field name="PWM2_PRESENT" bitrange="27:27">
+</field>
+<field name="PWM1_PRESENT" bitrange="26:26">
+</field>
+<field name="PWM0_PRESENT" bitrange="25:25">
+</field>
+<field name="PWM4_ENABLE" bitrange="4:4">
+</field>
+<field name="PWM3_ENABLE" bitrange="3:3">
+</field>
+<field name="PWM2_ENABLE" bitrange="2:2">
+</field>
+<field name="PWM1_ENABLE" bitrange="1:1">
+</field>
+<field name="PWM0_ENABLE" bitrange="0:0">
+</field>
+</reg>
+<reg name="ACTIVEn" sct="yes">
+<formula string="0x10+n*0x20"/>
+<addr name="ACTIVE0" addr="0x10" />
+<addr name="ACTIVE1" addr="0x30" />
+<addr name="ACTIVE2" addr="0x50" />
+<addr name="ACTIVE3" addr="0x70" />
+<addr name="ACTIVE4" addr="0x90" />
+<field name="INACTIVE" bitrange="31:16">
+</field>
+<field name="ACTIVE" bitrange="15:0">
+</field>
+</reg>
+<reg name="PERIODn" sct="yes">
+<formula string="0x20+n*0x20"/>
+<addr name="PERIOD0" addr="0x20" />
+<addr name="PERIOD1" addr="0x40" />
+<addr name="PERIOD2" addr="0x60" />
+<addr name="PERIOD3" addr="0x80" />
+<addr name="PERIOD4" addr="0xa0" />
+<field name="MATT" bitrange="23:23">
+</field>
+<field name="CDIV" bitrange="22:20">
+<value name="DIV_1" value="0x0">
+</value>
+<value name="DIV_2" value="0x1">
+</value>
+<value name="DIV_4" value="0x2">
+</value>
+<value name="DIV_8" value="0x3">
+</value>
+<value name="DIV_16" value="0x4">
+</value>
+<value name="DIV_64" value="0x5">
+</value>
+<value name="DIV_256" value="0x6">
+</value>
+<value name="DIV_1024" value="0x7">
+</value>
+</field>
+<field name="INACTIVE_STATE" bitrange="19:18">
+<value name="HI_Z" value="0x0">
+</value>
+<value name="0" value="0x2">
+</value>
+<value name="1" value="0x3">
+</value>
+</field>
+<field name="ACTIVE_STATE" bitrange="17:16">
+<value name="HI_Z" value="0x0">
+</value>
+<value name="0" value="0x2">
+</value>
+<value name="1" value="0x3">
+</value>
+</field>
+<field name="PERIOD" bitrange="15:0">
+</field>
+</reg>
+</dev>
+<dev name="RTC" long_name="Real Time Clock" desc="Real-Time Clock, Alarm, Watchdog, Persistent Bits" version="2.3.0">
+<addr name="RTC" addr="0x8005c000" />
+<reg name="CTRL" sct="yes">
+<addr name="CTRL" addr="0x0" />
+<field name="SFTRST" bitrange="31:31">
+</field>
+<field name="CLKGATE" bitrange="30:30">
+</field>
+<field name="CLKDIV" bitrange="27:24">
+</field>
+<field name="SUPPRESS_COPY2ANALOG" bitrange="6:6">
+<value name="NORMAL" value="0x0">
+</value>
+<value name="NO_COPY" value="0x1">
+</value>
+</field>
+<field name="FORCE_UPDATE" bitrange="5:5">
+<value name="NORMAL" value="0x0">
+</value>
+<value name="FORCE_COPY" value="0x1">
+</value>
+</field>
+<field name="WATCHDOGEN" bitrange="4:4">
+</field>
+<field name="ONEMSEC_IRQ" bitrange="3:3">
+</field>
+<field name="ALARM_IRQ" bitrange="2:2">
+</field>
+<field name="ONEMSEC_IRQ_EN" bitrange="1:1">
+</field>
+<field name="ALARM_IRQ_EN" bitrange="0:0">
+</field>
+</reg>
+<reg name="STAT" sct="no">
+<addr name="STAT" addr="0x10" />
+<field name="RTC_PRESENT" bitrange="31:31">
+</field>
+<field name="ALARM_PRESENT" bitrange="30:30">
+</field>
+<field name="WATCHDOG_PRESENT" bitrange="29:29">
+</field>
+<field name="XTAL32768_PRESENT" bitrange="28:28">
+</field>
+<field name="STALE_REGS" bitrange="21:16">
+</field>
+<field name="NEW_REGS" bitrange="13:8">
+</field>
+<field name="FUSE_UNLOCK" bitrange="1:1">
+</field>
+<field name="FUSE_DONE" bitrange="0:0">
+</field>
+</reg>
+<reg name="MILLISECONDS" sct="yes">
+<addr name="MILLISECONDS" addr="0x20" />
+<field name="COUNT" bitrange="31:0">
+</field>
+</reg>
+<reg name="SECONDS" sct="yes">
+<addr name="SECONDS" addr="0x30" />
+<field name="COUNT" bitrange="31:0">
+</field>
+</reg>
+<reg name="ALARM" sct="yes">
+<addr name="ALARM" addr="0x40" />
+<field name="VALUE" bitrange="31:0">
+</field>
+</reg>
+<reg name="WATCHDOG" sct="yes">
+<addr name="WATCHDOG" addr="0x50" />
+<field name="COUNT" bitrange="31:0">
+</field>
+</reg>
+<reg name="PERSISTENT0" sct="yes">
+<addr name="PERSISTENT0" addr="0x60" />
+<field name="GENERAL" bitrange="31:16">
+<value name="SDRAM_BOOT" value="0x8000">
+</value>
+<value name="ENUMERATE_500MA_TWICE" value="0x4000">
+</value>
+<value name="USB_BOOT_PLAYER_MODE" value="0x2000">
+</value>
+<value name="SKIP_CHECKDISK" value="0x1000">
+</value>
+<value name="USB_LOW_POWER_MODE" value="0x800">
+</value>
+<value name="OTG_HNP_BIT" value="0x400">
+</value>
+<value name="OTG_ATL_ROLE_BIT" value="0x200">
+</value>
+<value name="SDRAM_CS_HI" value="0x100">
+</value>
+<value name="SDRAM_CS_LO" value="0x80">
+</value>
+<value name="SDRAM_NDX_3" value="0x40">
+</value>
+<value name="SDRAM_NDX_2" value="0x20">
+</value>
+<value name="SDRAM_NDX_1" value="0x10">
+</value>
+<value name="SDRAM_NDX_0" value="0x8">
+</value>
+<value name="ETM_ENABLE" value="0x4">
+</value>
+</field>
+<field name="DCDC_CTRL" bitrange="15:6">
+<value name="SD_PRESENT" value="0x200">
+</value>
+<value name="LOWBAT_3P0" value="0x100">
+</value>
+<value name="SELFBIAS_PWRUP" value="0x80">
+</value>
+<value name="AUTO_RESTART" value="0x40">
+</value>
+<value name="DETECT_LOWBAT" value="0x20">
+</value>
+<value name="DROP_BIAS1" value="0x10">
+</value>
+<value name="DROP_BIAS2" value="0x8">
+</value>
+<value name="SPARE" value="0x4">
+</value>
+<value name="DISABLE_XTALSTOP" value="0x2">
+</value>
+<value name="SPARE2" value="0x1">
+</value>
+</field>
+<field name="XTAL32_PDOWN" bitrange="5:5">
+</field>
+<field name="XTAL24_PDOWN" bitrange="4:4">
+</field>
+<field name="ALARM_WAKE_EN" bitrange="3:3">
+</field>
+<field name="ALARM_EN" bitrange="2:2">
+</field>
+<field name="ALARM_WAKE" bitrange="1:1">
+</field>
+<field name="CLOCKSOURCE" bitrange="0:0">
+</field>
+</reg>
+<reg name="PERSISTENT1" sct="yes">
+<addr name="PERSISTENT1" addr="0x70" />
+<field name="GENERAL" bitrange="31:0">
+</field>
+</reg>
+<reg name="PERSISTENT2" sct="yes">
+<addr name="PERSISTENT2" addr="0x80" />
+<field name="SRAM_LO" bitrange="31:0">
+<value name="WARM_BOOT" value="0x80000000">
+</value>
+</field>
+</reg>
+<reg name="PERSISTENT3" sct="yes">
+<addr name="PERSISTENT3" addr="0x90" />
+<field name="SRAM_HI" bitrange="31:0">
+</field>
+</reg>
+<reg name="DEBUG" sct="yes">
+<addr name="DEBUG" addr="0xa0" />
+<field name="WATCHDOG_RESET_MASK" bitrange="1:1">
+</field>
+<field name="WATCHDOG_RESET" bitrange="0:0">
+</field>
+</reg>
+<reg name="UNLOCK" sct="yes">
+<addr name="UNLOCK" addr="0x200" />
+<field name="KEY" bitrange="31:0">
+<value name="VAL" value="0xc6a83957">
+</value>
+</field>
+</reg>
+<reg name="LASERFUSEn" sct="yes">
+<formula string="0x300+n*0x10"/>
+<addr name="LASERFUSE0" addr="0x300" />
+<addr name="LASERFUSE1" addr="0x310" />
+<addr name="LASERFUSE2" addr="0x320" />
+<addr name="LASERFUSE3" addr="0x330" />
+<addr name="LASERFUSE4" addr="0x340" />
+<addr name="LASERFUSE5" addr="0x350" />
+<addr name="LASERFUSE6" addr="0x360" />
+<addr name="LASERFUSE7" addr="0x370" />
+<addr name="LASERFUSE8" addr="0x380" />
+<addr name="LASERFUSE9" addr="0x390" />
+<addr name="LASERFUSE10" addr="0x3a0" />
+<addr name="LASERFUSE11" addr="0x3b0" />
+<field name="BITS" bitrange="31:0">
+</field>
+</reg>
+</dev>
+<dev name="SPDIF" long_name="Sony/Phillips Digital Audio Interface" desc="SPDIF Transmitter" version="2.3.0">
+<addr name="SPDIF" addr="0x80054000" />
+<reg name="CTRL" sct="yes">
+<addr name="CTRL" addr="0x0" />
+<field name="SFTRST" bitrange="31:31">
+</field>
+<field name="CLKGATE" bitrange="30:30">
+</field>
+<field name="DMAWAIT_COUNT" bitrange="20:16">
+</field>
+<field name="WAIT_END_XFER" bitrange="5:5">
+</field>
+<field name="WORD_LENGTH" bitrange="4:4">
+</field>
+<field name="FIFO_UNDERFLOW_IRQ" bitrange="3:3">
+</field>
+<field name="FIFO_OVERFLOW_IRQ" bitrange="2:2">
+</field>
+<field name="FIFO_ERROR_IRQ_EN" bitrange="1:1">
+</field>
+<field name="RUN" bitrange="0:0">
+</field>
+</reg>
+<reg name="STAT" sct="no">
+<addr name="STAT" addr="0x10" />
+<field name="PRESENT" bitrange="31:31">
+</field>
+<field name="END_XFER" bitrange="0:0">
+</field>
+</reg>
+<reg name="FRAMECTRL" sct="yes">
+<addr name="FRAMECTRL" addr="0x20" />
+<field name="V_CONFIG" bitrange="17:17">
+</field>
+<field name="AUTO_MUTE" bitrange="16:16">
+</field>
+<field name="USER_DATA" bitrange="14:14">
+</field>
+<field name="V" bitrange="13:13">
+</field>
+<field name="L" bitrange="12:12">
+</field>
+<field name="CC" bitrange="10:4">
+</field>
+<field name="PRE" bitrange="3:3">
+</field>
+<field name="COPY" bitrange="2:2">
+</field>
+<field name="AUDIO" bitrange="1:1">
+</field>
+<field name="PRO" bitrange="0:0">
+</field>
+</reg>
+<reg name="SRR" sct="yes">
+<addr name="SRR" addr="0x30" />
+<field name="BASEMULT" bitrange="30:28">
+</field>
+<field name="RATE" bitrange="19:0">
+</field>
+</reg>
+<reg name="DEBUG" sct="no">
+<addr name="DEBUG" addr="0x40" />
+<field name="DMA_PREQ" bitrange="1:1">
+</field>
+<field name="FIFO_STATUS" bitrange="0:0">
+</field>
+</reg>
+<reg name="DATA" sct="yes">
+<addr name="DATA" addr="0x50" />
+<field name="HIGH" bitrange="31:16">
+</field>
+<field name="LOW" bitrange="15:0">
+</field>
+</reg>
+</dev>
+<dev name="SSP" long_name="Sync Serial Port" desc="Synchronous Serial Ports (SSP)" version="2.3.0">
+<addr name="SSP" addr="0x80010000" />
+<reg name="CTRL0" sct="yes">
+<addr name="CTRL0" addr="0x0" />
+<field name="SFTRST" bitrange="31:31">
+</field>
+<field name="CLKGATE" bitrange="30:30">
+</field>
+<field name="RUN" bitrange="29:29">
+</field>
+<field name="HALF_DUPLEX" bitrange="28:28">
+</field>
+<field name="LOCK_CS" bitrange="27:27">
+</field>
+<field name="IGNORE_CRC" bitrange="26:26">
+</field>
+<field name="READ" bitrange="25:25">
+</field>
+<field name="DATA_XFER" bitrange="24:24">
+</field>
+<field name="SDIO_IRQ" bitrange="23:23">
+</field>
+<field name="BUS_WIDTH" bitrange="22:22">
+<value name="ONE_BIT" value="0x0">
+</value>
+<value name="FOUR_BIT" value="0x1">
+</value>
+</field>
+<field name="WAIT_FOR_IRQ" bitrange="21:21">
+</field>
+<field name="WAIT_FOR_CMD" bitrange="20:20">
+</field>
+<field name="LONG_RESP" bitrange="19:19">
+</field>
+<field name="CHECK_RESP" bitrange="18:18">
+</field>
+<field name="GET_RESP" bitrange="17:17">
+</field>
+<field name="ENABLE" bitrange="16:16">
+</field>
+<field name="XFER_COUNT" bitrange="15:0">
+</field>
+</reg>
+<reg name="CMD0" sct="yes">
+<addr name="CMD0" addr="0x10" />
+<field name="CMD" bitrange="7:0">
+<value name="MMC_GO_IDLE_STATE" value="0x0">
+</value>
+<value name="MMC_SEND_OP_COND" value="0x1">
+</value>
+<value name="MMC_ALL_SEND_CID" value="0x2">
+</value>
+<value name="MMC_SET_RELATIVE_ADDR" value="0x3">
+</value>
+<value name="MMC_SET_DSR" value="0x4">
+</value>
+<value name="MMC_RESERVED_5" value="0x5">
+</value>
+<value name="MMC_SWITCH" value="0x6">
+</value>
+<value name="MMC_SELECT_DESELECT_CARD" value="0x7">
+</value>
+<value name="MMC_SEND_EXT_CSD" value="0x8">
+</value>
+<value name="MMC_SEND_CSD" value="0x9">
+</value>
+<value name="MMC_SEND_CID" value="0xa">
+</value>
+<value name="MMC_READ_DAT_UNTIL_STOP" value="0xb">
+</value>
+<value name="MMC_STOP_TRANSMISSION" value="0xc">
+</value>
+<value name="MMC_SEND_STATUS" value="0xd">
+</value>
+<value name="MMC_BUSTEST_R" value="0xe">
+</value>
+<value name="MMC_GO_INACTIVE_STATE" value="0xf">
+</value>
+<value name="MMC_SET_BLOCKLEN" value="0x10">
+</value>
+<value name="MMC_READ_SINGLE_BLOCK" value="0x11">
+</value>
+<value name="MMC_READ_MULTIPLE_BLOCK" value="0x12">
+</value>
+<value name="MMC_BUSTEST_W" value="0x13">
+</value>
+<value name="MMC_WRITE_DAT_UNTIL_STOP" value="0x14">
+</value>
+<value name="MMC_SET_BLOCK_COUNT" value="0x17">
+</value>
+<value name="MMC_WRITE_BLOCK" value="0x18">
+</value>
+<value name="MMC_WRITE_MULTIPLE_BLOCK" value="0x19">
+</value>
+<value name="MMC_PROGRAM_CID" value="0x1a">
+</value>
+<value name="MMC_PROGRAM_CSD" value="0x1b">
+</value>
+<value name="MMC_SET_WRITE_PROT" value="0x1c">
+</value>
+<value name="MMC_CLR_WRITE_PROT" value="0x1d">
+</value>
+<value name="MMC_SEND_WRITE_PROT" value="0x1e">
+</value>
+<value name="MMC_ERASE_GROUP_START" value="0x23">
+</value>
+<value name="MMC_ERASE_GROUP_END" value="0x24">
+</value>
+<value name="MMC_ERASE" value="0x26">
+</value>
+<value name="MMC_FAST_IO" value="0x27">
+</value>
+<value name="MMC_GO_IRQ_STATE" value="0x28">
+</value>
+<value name="MMC_LOCK_UNLOCK" value="0x2a">
+</value>
+<value name="MMC_APP_CMD" value="0x37">
+</value>
+<value name="MMC_GEN_CMD" value="0x38">
+</value>
+<value name="SD_GO_IDLE_STATE" value="0x0">
+</value>
+<value name="SD_ALL_SEND_CID" value="0x2">
+</value>
+<value name="SD_SEND_RELATIVE_ADDR" value="0x3">
+</value>
+<value name="SD_SET_DSR" value="0x4">
+</value>
+<value name="SD_IO_SEND_OP_COND" value="0x5">
+</value>
+<value name="SD_SELECT_DESELECT_CARD" value="0x7">
+</value>
+<value name="SD_SEND_CSD" value="0x9">
+</value>
+<value name="SD_SEND_CID" value="0xa">
+</value>
+<value name="SD_STOP_TRANSMISSION" value="0xc">
+</value>
+<value name="SD_SEND_STATUS" value="0xd">
+</value>
+<value name="SD_GO_INACTIVE_STATE" value="0xf">
+</value>
+<value name="SD_SET_BLOCKLEN" value="0x10">
+</value>
+<value name="SD_READ_SINGLE_BLOCK" value="0x11">
+</value>
+<value name="SD_READ_MULTIPLE_BLOCK" value="0x12">
+</value>
+<value name="SD_WRITE_BLOCK" value="0x18">
+</value>
+<value name="SD_WRITE_MULTIPLE_BLOCK" value="0x19">
+</value>
+<value name="SD_PROGRAM_CSD" value="0x1b">
+</value>
+<value name="SD_SET_WRITE_PROT" value="0x1c">
+</value>
+<value name="SD_CLR_WRITE_PROT" value="0x1d">
+</value>
+<value name="SD_SEND_WRITE_PROT" value="0x1e">
+</value>
+<value name="SD_ERASE_WR_BLK_START" value="0x20">
+</value>
+<value name="SD_ERASE_WR_BLK_END" value="0x21">
+</value>
+<value name="SD_ERASE_GROUP_START" value="0x23">
+</value>
+<value name="SD_ERASE_GROUP_END" value="0x24">
+</value>
+<value name="SD_ERASE" value="0x26">
+</value>
+<value name="SD_LOCK_UNLOCK" value="0x2a">
+</value>
+<value name="SD_IO_RW_DIRECT" value="0x34">
+</value>
+<value name="SD_IO_RW_EXTENDED" value="0x35">
+</value>
+<value name="SD_APP_CMD" value="0x37">
+</value>
+<value name="SD_GEN_CMD" value="0x38">
+</value>
+</field>
+</reg>
+<reg name="CMD1" sct="no">
+<addr name="CMD1" addr="0x20" />
+<field name="CMD_ARG" bitrange="31:0">
+</field>
+</reg>
+<reg name="COMPREF" sct="no">
+<addr name="COMPREF" addr="0x30" />
+<field name="REFERENCE" bitrange="31:0">
+</field>
+</reg>
+<reg name="COMPMASK" sct="no">
+<addr name="COMPMASK" addr="0x40" />
+<field name="MASK" bitrange="31:0">
+</field>
+</reg>
+<reg name="TIMING" sct="no">
+<addr name="TIMING" addr="0x50" />
+<field name="TIMEOUT" bitrange="31:16">
+</field>
+<field name="CLOCK_DIVIDE" bitrange="15:8">
+</field>
+<field name="CLOCK_RATE" bitrange="7:0">
+</field>
+</reg>
+<reg name="CTRL1" sct="yes">
+<addr name="CTRL1" addr="0x60" />
+<field name="SDIO_IRQ" bitrange="31:31">
+</field>
+<field name="SDIO_IRQ_EN" bitrange="30:30">
+</field>
+<field name="RESP_ERR_IRQ" bitrange="29:29">
+</field>
+<field name="RESP_ERR_IRQ_EN" bitrange="28:28">
+</field>
+<field name="RESP_TIMEOUT_IRQ" bitrange="27:27">
+</field>
+<field name="RESP_TIMEOUT_IRQ_EN" bitrange="26:26">
+</field>
+<field name="DATA_TIMEOUT_IRQ" bitrange="25:25">
+</field>
+<field name="DATA_TIMEOUT_IRQ_EN" bitrange="24:24">
+</field>
+<field name="DATA_CRC_IRQ" bitrange="23:23">
+</field>
+<field name="DATA_CRC_IRQ_EN" bitrange="22:22">
+</field>
+<field name="XMIT_IRQ" bitrange="21:21">
+</field>
+<field name="XMIT_IRQ_EN" bitrange="20:20">
+</field>
+<field name="RECV_IRQ" bitrange="19:19">
+</field>
+<field name="RECV_IRQ_EN" bitrange="18:18">
+</field>
+<field name="RECV_TIMEOUT_IRQ" bitrange="17:17">
+</field>
+<field name="RECV_TIMEOUT_IRQ_EN" bitrange="16:16">
+</field>
+<field name="RECV_OVRFLW_IRQ" bitrange="15:15">
+</field>
+<field name="RECV_OVRFLW_IRQ_EN" bitrange="14:14">
+</field>
+<field name="DMA_ENABLE" bitrange="13:13">
+</field>
+<field name="LOOPBACK" bitrange="12:12">
+</field>
+<field name="SLAVE_OUT_DISABLE" bitrange="11:11">
+</field>
+<field name="PHASE" bitrange="10:10">
+</field>
+<field name="POLARITY" bitrange="9:9">
+</field>
+<field name="SLAVE_MODE" bitrange="8:8">
+</field>
+<field name="WORD_LENGTH" bitrange="7:4">
+<value name="RESERVED0" value="0x0">
+</value>
+<value name="RESERVED1" value="0x1">
+</value>
+<value name="RESERVED2" value="0x2">
+</value>
+<value name="FOUR_BITS" value="0x3">
+</value>
+<value name="EIGHT_BITS" value="0x7">
+</value>
+<value name="SIXTEEN_BITS" value="0xf">
+</value>
+</field>
+<field name="SSP_MODE" bitrange="3:0">
+<value name="SPI" value="0x0">
+</value>
+<value name="SSI" value="0x1">
+</value>
+<value name="MICROWIRE" value="0x2">
+</value>
+<value name="SD_MMC" value="0x3">
+</value>
+<value name="MS" value="0x4">
+</value>
+</field>
+</reg>
+<reg name="DATA" sct="no">
+<addr name="DATA" addr="0x70" />
+<field name="DATA" bitrange="31:0">
+</field>
+</reg>
+<reg name="SDRESP0" sct="no">
+<addr name="SDRESP0" addr="0x80" />
+<field name="RESP0" bitrange="31:0">
+</field>
+</reg>
+<reg name="SDRESP1" sct="no">
+<addr name="SDRESP1" addr="0x90" />
+<field name="RESP1" bitrange="31:0">
+</field>
+</reg>
+<reg name="SDRESP2" sct="no">
+<addr name="SDRESP2" addr="0xa0" />
+<field name="RESP2" bitrange="31:0">
+</field>
+</reg>
+<reg name="SDRESP3" sct="no">
+<addr name="SDRESP3" addr="0xb0" />
+<field name="RESP3" bitrange="31:0">
+</field>
+</reg>
+<reg name="STATUS" sct="no">
+<addr name="STATUS" addr="0xc0" />
+<field name="PRESENT" bitrange="31:31">
+</field>
+<field name="MS_PRESENT" bitrange="30:30">
+</field>
+<field name="SD_PRESENT" bitrange="29:29">
+</field>
+<field name="CARD_DETECT" bitrange="28:28">
+</field>
+<field name="RECV_COUNT" bitrange="27:24">
+</field>
+<field name="XMIT_COUNT" bitrange="23:20">
+</field>
+<field name="DMAREQ" bitrange="19:19">
+</field>
+<field name="DMAEND" bitrange="18:18">
+</field>
+<field name="SDIO_IRQ" bitrange="17:17">
+</field>
+<field name="RESP_CRC_ERR" bitrange="16:16">
+</field>
+<field name="RESP_ERR" bitrange="15:15">
+</field>
+<field name="RESP_TIMEOUT" bitrange="14:14">
+</field>
+<field name="DATA_CRC_ERR" bitrange="13:13">
+</field>
+<field name="TIMEOUT" bitrange="12:12">
+</field>
+<field name="RECV_TIMEOUT_STAT" bitrange="11:11">
+</field>
+<field name="RECV_DATA_STAT" bitrange="10:10">
+</field>
+<field name="RECV_OVRFLW" bitrange="9:9">
+</field>
+<field name="RECV_FULL" bitrange="8:8">
+</field>
+<field name="RECV_NOT_EMPTY" bitrange="7:7">
+</field>
+<field name="XMIT_NOT_FULL" bitrange="6:6">
+</field>
+<field name="XMIT_EMPTY" bitrange="5:5">
+</field>
+<field name="XMIT_UNDRFLW" bitrange="4:4">
+</field>
+<field name="CMD_BUSY" bitrange="3:3">
+</field>
+<field name="DATA_BUSY" bitrange="2:2">
+</field>
+<field name="DATA_XFER" bitrange="1:1">
+</field>
+<field name="BUSY" bitrange="0:0">
+</field>
+</reg>
+<reg name="DEBUG" sct="no">
+<addr name="DEBUG" addr="0x100" />
+<field name="DATACRC_ERR" bitrange="31:28">
+</field>
+<field name="DATA_STALL" bitrange="27:27">
+</field>
+<field name="DAT_SM" bitrange="26:24">
+<value name="DSM_IDLE" value="0x0">
+</value>
+<value name="DSM_START" value="0x1">
+</value>
+<value name="DSM_WORD" value="0x2">
+</value>
+<value name="DSM_CRC1" value="0x3">
+</value>
+<value name="DSM_CRC2" value="0x4">
+</value>
+<value name="DSM_END" value="0x5">
+</value>
+<value name="DSM_RXDLY" value="0x6">
+</value>
+</field>
+<field name="MSTK_SM" bitrange="23:20">
+<value name="MSTK_IDLE" value="0x0">
+</value>
+<value name="MSTK_CKON" value="0x1">
+</value>
+<value name="MSTK_BS1" value="0x2">
+</value>
+<value name="MSTK_TPC" value="0x3">
+</value>
+<value name="MSTK_BS2" value="0x4">
+</value>
+<value name="MSTK_HDSHK" value="0x5">
+</value>
+<value name="MSTK_BS3" value="0x6">
+</value>
+<value name="MSTK_RW" value="0x7">
+</value>
+<value name="MSTK_CRC1" value="0x8">
+</value>
+<value name="MSTK_CRC2" value="0x9">
+</value>
+<value name="MSTK_BS0" value="0xa">
+</value>
+<value name="MSTK_DONE" value="0xb">
+</value>
+</field>
+<field name="CMD_OE" bitrange="19:19">
+</field>
+<field name="CMD_SM" bitrange="18:16">
+<value name="CSM_IDLE" value="0x0">
+</value>
+<value name="CSM_INDEX" value="0x1">
+</value>
+<value name="CSM_ARG" value="0x2">
+</value>
+<value name="CSM_CRC" value="0x3">
+</value>
+</field>
+<field name="CLK_OE" bitrange="15:15">
+</field>
+<field name="MMC_SM" bitrange="14:12">
+<value name="MMC_IDLE" value="0x0">
+</value>
+<value name="MMC_CMD" value="0x1">
+</value>
+<value name="MMC_TRC" value="0x2">
+</value>
+<value name="MMC_RESP" value="0x3">
+</value>
+<value name="MMC_RPRX" value="0x4">
+</value>
+<value name="MMC_TX" value="0x5">
+</value>
+<value name="MMC_CTOK" value="0x6">
+</value>
+<value name="MMC_RX" value="0x7">
+</value>
+</field>
+<field name="DAT0_OE" bitrange="11:11">
+</field>
+<field name="DAT321_OE" bitrange="10:10">
+</field>
+<field name="SSP_CMD" bitrange="9:9">
+</field>
+<field name="SSP_RESP" bitrange="8:8">
+</field>
+<field name="SSP_TXD" bitrange="7:4">
+</field>
+<field name="SSP_RXD" bitrange="3:0">
+</field>
+</reg>
+</dev>
+<dev name="TIMROT" long_name="Timers/Rotary Interface" desc="Timers and Rotary Decoder" version="2.3.0">
+<addr name="TIMROT" addr="0x80068000" />
+<reg name="ROTCTRL" sct="yes">
+<addr name="ROTCTRL" addr="0x0" />
+<field name="SFTRST" bitrange="31:31">
+</field>
+<field name="CLKGATE" bitrange="30:30">
+</field>
+<field name="ROTARY_PRESENT" bitrange="29:29">
+</field>
+<field name="TIM3_PRESENT" bitrange="28:28">
+</field>
+<field name="TIM2_PRESENT" bitrange="27:27">
+</field>
+<field name="TIM1_PRESENT" bitrange="26:26">
+</field>
+<field name="TIM0_PRESENT" bitrange="25:25">
+</field>
+<field name="STATE" bitrange="24:22">
+</field>
+<field name="DIVIDER" bitrange="21:16">
+</field>
+<field name="RELATIVE" bitrange="12:12">
+</field>
+<field name="OVERSAMPLE" bitrange="11:10">
+<value name="8X" value="0x0">
+</value>
+<value name="4X" value="0x1">
+</value>
+<value name="2X" value="0x2">
+</value>
+<value name="1X" value="0x3">
+</value>
+</field>
+<field name="POLARITY_B" bitrange="9:9">
+</field>
+<field name="POLARITY_A" bitrange="8:8">
+</field>
+<field name="SELECT_B" bitrange="6:4">
+<value name="NEVER_TICK" value="0x0">
+</value>
+<value name="PWM0" value="0x1">
+</value>
+<value name="PWM1" value="0x2">
+</value>
+<value name="PWM2" value="0x3">
+</value>
+<value name="PWM3" value="0x4">
+</value>
+<value name="PWM4" value="0x5">
+</value>
+<value name="ROTARYA" value="0x6">
+</value>
+<value name="ROTARYB" value="0x7">
+</value>
+</field>
+<field name="SELECT_A" bitrange="2:0">
+<value name="NEVER_TICK" value="0x0">
+</value>
+<value name="PWM0" value="0x1">
+</value>
+<value name="PWM1" value="0x2">
+</value>
+<value name="PWM2" value="0x3">
+</value>
+<value name="PWM3" value="0x4">
+</value>
+<value name="PWM4" value="0x5">
+</value>
+<value name="ROTARYA" value="0x6">
+</value>
+<value name="ROTARYB" value="0x7">
+</value>
+</field>
+</reg>
+<reg name="ROTCOUNT" sct="no">
+<addr name="ROTCOUNT" addr="0x10" />
+<field name="UPDOWN" bitrange="15:0">
+</field>
+</reg>
+<reg name="TIMCTRL3" sct="yes">
+<addr name="TIMCTRL3" addr="0x80" />
+<field name="TEST_SIGNAL" bitrange="19:16">
+<value name="NEVER_TICK" value="0x0">
+</value>
+<value name="PWM0" value="0x1">
+</value>
+<value name="PWM1" value="0x2">
+</value>
+<value name="PWM2" value="0x3">
+</value>
+<value name="PWM3" value="0x4">
+</value>
+<value name="PWM4" value="0x5">
+</value>
+<value name="ROTARYA" value="0x6">
+</value>
+<value name="ROTARYB" value="0x7">
+</value>
+<value name="32KHZ_XTAL" value="0x8">
+</value>
+<value name="8KHZ_XTAL" value="0x9">
+</value>
+<value name="4KHZ_XTAL" value="0xa">
+</value>
+<value name="1KHZ_XTAL" value="0xb">
+</value>
+<value name="TICK_ALWAYS" value="0xc">
+</value>
+</field>
+<field name="IRQ" bitrange="15:15">
+</field>
+<field name="IRQ_EN" bitrange="14:14">
+</field>
+<field name="DUTY_VALID" bitrange="10:10">
+</field>
+<field name="DUTY_CYCLE" bitrange="9:9">
+</field>
+<field name="POLARITY" bitrange="8:8">
+</field>
+<field name="UPDATE" bitrange="7:7">
+</field>
+<field name="RELOAD" bitrange="6:6">
+</field>
+<field name="PRESCALE" bitrange="5:4">
+<value name="DIV_BY_1" value="0x0">
+</value>
+<value name="DIV_BY_2" value="0x1">
+</value>
+<value name="DIV_BY_4" value="0x2">
+</value>
+<value name="DIV_BY_8" value="0x3">
+</value>
+</field>
+<field name="SELECT" bitrange="3:0">
+<value name="NEVER_TICK" value="0x0">
+</value>
+<value name="PWM0" value="0x1">
+</value>
+<value name="PWM1" value="0x2">
+</value>
+<value name="PWM2" value="0x3">
+</value>
+<value name="PWM3" value="0x4">
+</value>
+<value name="PWM4" value="0x5">
+</value>
+<value name="ROTARYA" value="0x6">
+</value>
+<value name="ROTARYB" value="0x7">
+</value>
+<value name="32KHZ_XTAL" value="0x8">
+</value>
+<value name="8KHZ_XTAL" value="0x9">
+</value>
+<value name="4KHZ_XTAL" value="0xa">
+</value>
+<value name="1KHZ_XTAL" value="0xb">
+</value>
+<value name="TICK_ALWAYS" value="0xc">
+</value>
+</field>
+</reg>
+<reg name="TIMCOUNT3" sct="no">
+<addr name="TIMCOUNT3" addr="0x90" />
+<field name="LOW_RUNNING_COUNT" bitrange="31:16">
+</field>
+<field name="HIGH_FIXED_COUNT" bitrange="15:0">
+</field>
+</reg>
+<reg name="TIMCOUNTn" sct="no">
+<formula string="0x30+n*0x20"/>
+<addr name="TIMCOUNT0" addr="0x30" />
+<addr name="TIMCOUNT1" addr="0x50" />
+<addr name="TIMCOUNT2" addr="0x70" />
+<field name="RUNNING_COUNT" bitrange="31:16">
+</field>
+<field name="FIXED_COUNT" bitrange="15:0">
+</field>
+</reg>
+<reg name="TIMCTRLn" sct="yes">
+<formula string="0x20+n*0x20"/>
+<addr name="TIMCTRL0" addr="0x20" />
+<addr name="TIMCTRL1" addr="0x40" />
+<addr name="TIMCTRL2" addr="0x60" />
+<field name="IRQ" bitrange="15:15">
+</field>
+<field name="IRQ_EN" bitrange="14:14">
+</field>
+<field name="POLARITY" bitrange="8:8">
+</field>
+<field name="UPDATE" bitrange="7:7">
+</field>
+<field name="RELOAD" bitrange="6:6">
+</field>
+<field name="PRESCALE" bitrange="5:4">
+<value name="DIV_BY_1" value="0x0">
+</value>
+<value name="DIV_BY_2" value="0x1">
+</value>
+<value name="DIV_BY_4" value="0x2">
+</value>
+<value name="DIV_BY_8" value="0x3">
+</value>
+</field>
+<field name="SELECT" bitrange="3:0">
+<value name="NEVER_TICK" value="0x0">
+</value>
+<value name="PWM0" value="0x1">
+</value>
+<value name="PWM1" value="0x2">
+</value>
+<value name="PWM2" value="0x3">
+</value>
+<value name="PWM3" value="0x4">
+</value>
+<value name="PWM4" value="0x5">
+</value>
+<value name="ROTARYA" value="0x6">
+</value>
+<value name="ROTARYB" value="0x7">
+</value>
+<value name="32KHZ_XTAL" value="0x8">
+</value>
+<value name="8KHZ_XTAL" value="0x9">
+</value>
+<value name="4KHZ_XTAL" value="0xa">
+</value>
+<value name="1KHZ_XTAL" value="0xb">
+</value>
+<value name="TICK_ALWAYS" value="0xc">
+</value>
+</field>
+</reg>
+</dev>
+<dev name="UARTAPP" long_name="Application UART" desc="Application UART" version="2.3.0">
+<addr name="UARTAPP" addr="0x8006c000" />
+<reg name="CTRL0" sct="yes">
+<addr name="CTRL0" addr="0x0" />
+<field name="SFTRST" bitrange="31:31">
+</field>
+<field name="CLKGATE" bitrange="30:30">
+</field>
+<field name="RUN" bitrange="28:28">
+</field>
+<field name="RX_SOURCE" bitrange="25:25">
+</field>
+<field name="RXTO_ENABLE" bitrange="24:24">
+</field>
+<field name="RXTIMEOUT" bitrange="23:16">
+</field>
+<field name="XFER_COUNT" bitrange="15:0">
+</field>
+</reg>
+<reg name="CTRL1" sct="yes">
+<addr name="CTRL1" addr="0x10" />
+<field name="RUN" bitrange="28:28">
+</field>
+<field name="XFER_COUNT" bitrange="15:0">
+</field>
+</reg>
+<reg name="CTRL2" sct="yes">
+<addr name="CTRL2" addr="0x20" />
+<field name="INVERT_RTS" bitrange="31:31">
+</field>
+<field name="INVERT_CTS" bitrange="30:30">
+</field>
+<field name="INVERT_TX" bitrange="29:29">
+</field>
+<field name="INVERT_RX" bitrange="28:28">
+</field>
+<field name="DMAONERR" bitrange="26:26">
+</field>
+<field name="TXDMAE" bitrange="25:25">
+</field>
+<field name="RXDMAE" bitrange="24:24">
+</field>
+<field name="RXIFLSEL" bitrange="22:20">
+<value name="NOT_EMPTY" value="0x0">
+</value>
+<value name="ONE_QUARTER" value="0x1">
+</value>
+<value name="ONE_HALF" value="0x2">
+</value>
+<value name="THREE_QUARTERS" value="0x3">
+</value>
+<value name="SEVEN_EIGHTHS" value="0x4">
+</value>
+<value name="INVALID5" value="0x5">
+</value>
+<value name="INVALID6" value="0x6">
+</value>
+<value name="INVALID7" value="0x7">
+</value>
+</field>
+<field name="TXIFLSEL" bitrange="18:16">
+<value name="EMPTY" value="0x0">
+</value>
+<value name="ONE_QUARTER" value="0x1">
+</value>
+<value name="ONE_HALF" value="0x2">
+</value>
+<value name="THREE_QUARTERS" value="0x3">
+</value>
+<value name="SEVEN_EIGHTHS" value="0x4">
+</value>
+<value name="INVALID5" value="0x5">
+</value>
+<value name="INVALID6" value="0x6">
+</value>
+<value name="INVALID7" value="0x7">
+</value>
+</field>
+<field name="CTSEN" bitrange="15:15">
+</field>
+<field name="RTSEN" bitrange="14:14">
+</field>
+<field name="OUT2" bitrange="13:13">
+</field>
+<field name="OUT1" bitrange="12:12">
+</field>
+<field name="RTS" bitrange="11:11">
+</field>
+<field name="DTR" bitrange="10:10">
+</field>
+<field name="RXE" bitrange="9:9">
+</field>
+<field name="TXE" bitrange="8:8">
+</field>
+<field name="LBE" bitrange="7:7">
+</field>
+<field name="SIRLP" bitrange="2:2">
+</field>
+<field name="SIREN" bitrange="1:1">
+</field>
+<field name="UARTEN" bitrange="0:0">
+</field>
+</reg>
+<reg name="LINECTRL" sct="yes">
+<addr name="LINECTRL" addr="0x30" />
+<field name="BAUD_DIVINT" bitrange="31:16">
+</field>
+<field name="BAUD_DIVFRAC" bitrange="13:8">
+</field>
+<field name="SPS" bitrange="7:7">
+</field>
+<field name="WLEN" bitrange="6:5">
+</field>
+<field name="FEN" bitrange="4:4">
+</field>
+<field name="STP2" bitrange="3:3">
+</field>
+<field name="EPS" bitrange="2:2">
+</field>
+<field name="PEN" bitrange="1:1">
+</field>
+<field name="BRK" bitrange="0:0">
+</field>
+</reg>
+<reg name="INTR" sct="yes">
+<addr name="INTR" addr="0x40" />
+<field name="OEIEN" bitrange="26:26">
+</field>
+<field name="BEIEN" bitrange="25:25">
+</field>
+<field name="PEIEN" bitrange="24:24">
+</field>
+<field name="FEIEN" bitrange="23:23">
+</field>
+<field name="RTIEN" bitrange="22:22">
+</field>
+<field name="TXIEN" bitrange="21:21">
+</field>
+<field name="RXIEN" bitrange="20:20">
+</field>
+<field name="DSRMIEN" bitrange="19:19">
+</field>
+<field name="DCDMIEN" bitrange="18:18">
+</field>
+<field name="CTSMIEN" bitrange="17:17">
+</field>
+<field name="RIMIEN" bitrange="16:16">
+</field>
+<field name="OEIS" bitrange="10:10">
+</field>
+<field name="BEIS" bitrange="9:9">
+</field>
+<field name="PEIS" bitrange="8:8">
+</field>
+<field name="FEIS" bitrange="7:7">
+</field>
+<field name="RTIS" bitrange="6:6">
+</field>
+<field name="TXIS" bitrange="5:5">
+</field>
+<field name="RXIS" bitrange="4:4">
+</field>
+<field name="DSRMIS" bitrange="3:3">
+</field>
+<field name="DCDMIS" bitrange="2:2">
+</field>
+<field name="CTSMIS" bitrange="1:1">
+</field>
+<field name="RIMIS" bitrange="0:0">
+</field>
+</reg>
+<reg name="DATA" sct="no">
+<addr name="DATA" addr="0x50" />
+<field name="DATA" bitrange="31:0">
+</field>
+</reg>
+<reg name="STAT" sct="no">
+<addr name="STAT" addr="0x60" />
+<field name="PRESENT" bitrange="31:31">
+<value name="UNAVAILABLE" value="0x0">
+</value>
+<value name="AVAILABLE" value="0x1">
+</value>
+</field>
+<field name="HISPEED" bitrange="30:30">
+<value name="UNAVAILABLE" value="0x0">
+</value>
+<value name="AVAILABLE" value="0x1">
+</value>
+</field>
+<field name="BUSY" bitrange="29:29">
+</field>
+<field name="CTS" bitrange="28:28">
+</field>
+<field name="TXFE" bitrange="27:27">
+</field>
+<field name="RXFF" bitrange="26:26">
+</field>
+<field name="TXFF" bitrange="25:25">
+</field>
+<field name="RXFE" bitrange="24:24">
+</field>
+<field name="RXBYTE_INVALID" bitrange="23:20">
+</field>
+<field name="OERR" bitrange="19:19">
+</field>
+<field name="BERR" bitrange="18:18">
+</field>
+<field name="PERR" bitrange="17:17">
+</field>
+<field name="FERR" bitrange="16:16">
+</field>
+<field name="RXCOUNT" bitrange="15:0">
+</field>
+</reg>
+<reg name="DEBUG" sct="no">
+<addr name="DEBUG" addr="0x70" />
+<field name="TXDMARUN" bitrange="5:5">
+</field>
+<field name="RXDMARUN" bitrange="4:4">
+</field>
+<field name="TXCMDEND" bitrange="3:3">
+</field>
+<field name="RXCMDEND" bitrange="2:2">
+</field>
+<field name="TXDMARQ" bitrange="1:1">
+</field>
+<field name="RXDMARQ" bitrange="0:0">
+</field>
+</reg>
+</dev>
+<dev name="UARTDBG" long_name="Debug UART" desc="Debug UART" version="2.3.0">
+<addr name="UARTDBG" addr="0x80070000" />
+<reg name="DR" sct="no">
+<addr name="DR" addr="0x0" />
+<field name="UNAVAILABLE" bitrange="31:16">
+</field>
+<field name="RESERVED" bitrange="15:12">
+</field>
+<field name="OE" bitrange="11:11">
+</field>
+<field name="BE" bitrange="10:10">
+</field>
+<field name="PE" bitrange="9:9">
+</field>
+<field name="FE" bitrange="8:8">
+</field>
+<field name="DATA" bitrange="7:0">
+</field>
+</reg>
+<reg name="RSR_ECR" sct="no">
+<addr name="RSR_ECR" addr="0x4" />
+<field name="UNAVAILABLE" bitrange="31:8">
+</field>
+<field name="EC" bitrange="7:4">
+</field>
+<field name="OE" bitrange="3:3">
+</field>
+<field name="BE" bitrange="2:2">
+</field>
+<field name="PE" bitrange="1:1">
+</field>
+<field name="FE" bitrange="0:0">
+</field>
+</reg>
+<reg name="FR" sct="no">
+<addr name="FR" addr="0x18" />
+<field name="UNAVAILABLE" bitrange="31:16">
+</field>
+<field name="RESERVED" bitrange="15:9">
+</field>
+<field name="RI" bitrange="8:8">
+</field>
+<field name="TXFE" bitrange="7:7">
+</field>
+<field name="RXFF" bitrange="6:6">
+</field>
+<field name="TXFF" bitrange="5:5">
+</field>
+<field name="RXFE" bitrange="4:4">
+</field>
+<field name="BUSY" bitrange="3:3">
+</field>
+<field name="DCD" bitrange="2:2">
+</field>
+<field name="DSR" bitrange="1:1">
+</field>
+<field name="CTS" bitrange="0:0">
+</field>
+</reg>
+<reg name="ILPR" sct="no">
+<addr name="ILPR" addr="0x20" />
+<field name="UNAVAILABLE" bitrange="31:8">
+</field>
+<field name="ILPDVSR" bitrange="7:0">
+</field>
+</reg>
+<reg name="IBRD" sct="no">
+<addr name="IBRD" addr="0x24" />
+<field name="UNAVAILABLE" bitrange="31:16">
+</field>
+<field name="BAUD_DIVINT" bitrange="15:0">
+</field>
+</reg>
+<reg name="FBRD" sct="no">
+<addr name="FBRD" addr="0x28" />
+<field name="UNAVAILABLE" bitrange="31:8">
+</field>
+<field name="RESERVED" bitrange="7:6">
+</field>
+<field name="BAUD_DIVFRAC" bitrange="5:0">
+</field>
+</reg>
+<reg name="LCR_H" sct="no">
+<addr name="LCR_H" addr="0x2c" />
+<field name="UNAVAILABLE" bitrange="31:16">
+</field>
+<field name="RESERVED" bitrange="15:8">
+</field>
+<field name="SPS" bitrange="7:7">
+</field>
+<field name="WLEN" bitrange="6:5">
+</field>
+<field name="FEN" bitrange="4:4">
+</field>
+<field name="STP2" bitrange="3:3">
+</field>
+<field name="EPS" bitrange="2:2">
+</field>
+<field name="PEN" bitrange="1:1">
+</field>
+<field name="BRK" bitrange="0:0">
+</field>
+</reg>
+<reg name="CR" sct="no">
+<addr name="CR" addr="0x30" />
+<field name="UNAVAILABLE" bitrange="31:16">
+</field>
+<field name="CTSEN" bitrange="15:15">
+</field>
+<field name="RTSEN" bitrange="14:14">
+</field>
+<field name="OUT2" bitrange="13:13">
+</field>
+<field name="OUT1" bitrange="12:12">
+</field>
+<field name="RTS" bitrange="11:11">
+</field>
+<field name="DTR" bitrange="10:10">
+</field>
+<field name="RXE" bitrange="9:9">
+</field>
+<field name="TXE" bitrange="8:8">
+</field>
+<field name="LBE" bitrange="7:7">
+</field>
+<field name="RESERVED" bitrange="6:3">
+</field>
+<field name="SIRLP" bitrange="2:2">
+</field>
+<field name="SIREN" bitrange="1:1">
+</field>
+<field name="UARTEN" bitrange="0:0">
+</field>
+</reg>
+<reg name="IFLS" sct="no">
+<addr name="IFLS" addr="0x34" />
+<field name="UNAVAILABLE" bitrange="31:16">
+</field>
+<field name="RESERVED" bitrange="15:6">
+</field>
+<field name="RXIFLSEL" bitrange="5:3">
+<value name="NOT_EMPTY" value="0x0">
+</value>
+<value name="ONE_QUARTER" value="0x1">
+</value>
+<value name="ONE_HALF" value="0x2">
+</value>
+<value name="THREE_QUARTERS" value="0x3">
+</value>
+<value name="SEVEN_EIGHTHS" value="0x4">
+</value>
+<value name="INVALID5" value="0x5">
+</value>
+<value name="INVALID6" value="0x6">
+</value>
+<value name="INVALID7" value="0x7">
+</value>
+</field>
+<field name="TXIFLSEL" bitrange="2:0">
+<value name="EMPTY" value="0x0">
+</value>
+<value name="ONE_QUARTER" value="0x1">
+</value>
+<value name="ONE_HALF" value="0x2">
+</value>
+<value name="THREE_QUARTERS" value="0x3">
+</value>
+<value name="SEVEN_EIGHTHS" value="0x4">
+</value>
+<value name="INVALID5" value="0x5">
+</value>
+<value name="INVALID6" value="0x6">
+</value>
+<value name="INVALID7" value="0x7">
+</value>
+</field>
+</reg>
+<reg name="IMSC" sct="no">
+<addr name="IMSC" addr="0x38" />
+<field name="UNAVAILABLE" bitrange="31:16">
+</field>
+<field name="RESERVED" bitrange="15:11">
+</field>
+<field name="OEIM" bitrange="10:10">
+</field>
+<field name="BEIM" bitrange="9:9">
+</field>
+<field name="PEIM" bitrange="8:8">
+</field>
+<field name="FEIM" bitrange="7:7">
+</field>
+<field name="RTIM" bitrange="6:6">
+</field>
+<field name="TXIM" bitrange="5:5">
+</field>
+<field name="RXIM" bitrange="4:4">
+</field>
+<field name="DSRMIM" bitrange="3:3">
+</field>
+<field name="DCDMIM" bitrange="2:2">
+</field>
+<field name="CTSMIM" bitrange="1:1">
+</field>
+<field name="RIMIM" bitrange="0:0">
+</field>
+</reg>
+<reg name="RIS" sct="no">
+<addr name="RIS" addr="0x3c" />
+<field name="UNAVAILABLE" bitrange="31:16">
+</field>
+<field name="RESERVED" bitrange="15:11">
+</field>
+<field name="OERIS" bitrange="10:10">
+</field>
+<field name="BERIS" bitrange="9:9">
+</field>
+<field name="PERIS" bitrange="8:8">
+</field>
+<field name="FERIS" bitrange="7:7">
+</field>
+<field name="RTRIS" bitrange="6:6">
+</field>
+<field name="TXRIS" bitrange="5:5">
+</field>
+<field name="RXRIS" bitrange="4:4">
+</field>
+<field name="DSRRMIS" bitrange="3:3">
+</field>
+<field name="DCDRMIS" bitrange="2:2">
+</field>
+<field name="CTSRMIS" bitrange="1:1">
+</field>
+<field name="RIRMIS" bitrange="0:0">
+</field>
+</reg>
+<reg name="MIS" sct="no">
+<addr name="MIS" addr="0x40" />
+<field name="UNAVAILABLE" bitrange="31:16">
+</field>
+<field name="RESERVED" bitrange="15:11">
+</field>
+<field name="OEMIS" bitrange="10:10">
+</field>
+<field name="BEMIS" bitrange="9:9">
+</field>
+<field name="PEMIS" bitrange="8:8">
+</field>
+<field name="FEMIS" bitrange="7:7">
+</field>
+<field name="RTMIS" bitrange="6:6">
+</field>
+<field name="TXMIS" bitrange="5:5">
+</field>
+<field name="RXMIS" bitrange="4:4">
+</field>
+<field name="DSRMMIS" bitrange="3:3">
+</field>
+<field name="DCDMMIS" bitrange="2:2">
+</field>
+<field name="CTSMMIS" bitrange="1:1">
+</field>
+<field name="RIMMIS" bitrange="0:0">
+</field>
+</reg>
+<reg name="ICR" sct="no">
+<addr name="ICR" addr="0x44" />
+<field name="UNAVAILABLE" bitrange="31:16">
+</field>
+<field name="RESERVED" bitrange="15:11">
+</field>
+<field name="OEIC" bitrange="10:10">
+</field>
+<field name="BEIC" bitrange="9:9">
+</field>
+<field name="PEIC" bitrange="8:8">
+</field>
+<field name="FEIC" bitrange="7:7">
+</field>
+<field name="RTIC" bitrange="6:6">
+</field>
+<field name="TXIC" bitrange="5:5">
+</field>
+<field name="RXIC" bitrange="4:4">
+</field>
+<field name="DSRMIC" bitrange="3:3">
+</field>
+<field name="DCDMIC" bitrange="2:2">
+</field>
+<field name="CTSMIC" bitrange="1:1">
+</field>
+<field name="RIMIC" bitrange="0:0">
+</field>
+</reg>
+<reg name="DMACR" sct="no">
+<addr name="DMACR" addr="0x48" />
+<field name="UNAVAILABLE" bitrange="31:16">
+</field>
+<field name="RESERVED" bitrange="15:3">
+</field>
+<field name="DMAONERR" bitrange="2:2">
+</field>
+<field name="TXDMAE" bitrange="1:1">
+</field>
+<field name="RXDMAE" bitrange="0:0">
+</field>
+</reg>
+</dev>
+<dev name="ARC" long_name="USB Controller" desc="USB High-Speed Host/Device Controller" version="2.3.0">
+<addr name="ARC" addr="0x80080000" />
+<reg name="BASE" sct="no">
+<addr name="BASE" addr="0x0" />
+</reg>
+<reg name="ID" sct="no">
+<addr name="ID" addr="0x0" />
+</reg>
+<reg name="HCSPARAMS" sct="no">
+<addr name="HCSPARAMS" addr="0x104" />
+</reg>
+<reg name="USBCMD" sct="no">
+<addr name="USBCMD" addr="0x140" />
+</reg>
+<reg name="USBSTS" sct="no">
+<addr name="USBSTS" addr="0x144" />
+</reg>
+<reg name="USBINTR" sct="no">
+<addr name="USBINTR" addr="0x148" />
+</reg>
+<reg name="FRINDEX" sct="no">
+<addr name="FRINDEX" addr="0x14c" />
+</reg>
+<reg name="DEVADDR" sct="no">
+<addr name="DEVADDR" addr="0x154" />
+</reg>
+<reg name="ENDPTLISTADDR" sct="no">
+<addr name="ENDPTLISTADDR" addr="0x158" />
+</reg>
+<reg name="PORTSC1" sct="no">
+<addr name="PORTSC1" addr="0x184" />
+</reg>
+<reg name="OTGSC" sct="no">
+<addr name="OTGSC" addr="0x1a4" />
+</reg>
+<reg name="USBMODE" sct="no">
+<addr name="USBMODE" addr="0x1a8" />
+</reg>
+<reg name="ENDPTSETUPSTAT" sct="no">
+<addr name="ENDPTSETUPSTAT" addr="0x1ac" />
+</reg>
+<reg name="ENDPTPRIME" sct="no">
+<addr name="ENDPTPRIME" addr="0x1b0" />
+</reg>
+<reg name="ENDPTFLUSH" sct="no">
+<addr name="ENDPTFLUSH" addr="0x1b4" />
+</reg>
+<reg name="ENDPTSTATUS" sct="no">
+<addr name="ENDPTSTATUS" addr="0x1b8" />
+</reg>
+<reg name="ENDPTCOMPLETE" sct="no">
+<addr name="ENDPTCOMPLETE" addr="0x1bc" />
+</reg>
+<reg name="ENDPTCTRL0" sct="no">
+<addr name="ENDPTCTRL0" addr="0x1c0" />
+</reg>
+<reg name="ENDPTCTRL1" sct="no">
+<addr name="ENDPTCTRL1" addr="0x1c4" />
+</reg>
+<reg name="ENDPTCTRL2" sct="no">
+<addr name="ENDPTCTRL2" addr="0x1c8" />
+</reg>
+<reg name="ENDPTCTRL3" sct="no">
+<addr name="ENDPTCTRL3" addr="0x1cc" />
+</reg>
+<reg name="ENDPTCTRL4" sct="no">
+<addr name="ENDPTCTRL4" addr="0x1d0" />
+</reg>
+<reg name="ENDPTCTRL5" sct="no">
+<addr name="ENDPTCTRL5" addr="0x1d4" />
+</reg>
+<reg name="ENDPTCTRL6" sct="no">
+<addr name="ENDPTCTRL6" addr="0x1d8" />
+</reg>
+<reg name="ENDPTCTRL7" sct="no">
+<addr name="ENDPTCTRL7" addr="0x1dc" />
+</reg>
+<reg name="ENDPTCTRL8" sct="no">
+<addr name="ENDPTCTRL8" addr="0x1e0" />
+</reg>
+<reg name="ENDPTCTRL9" sct="no">
+<addr name="ENDPTCTRL9" addr="0x1e4" />
+</reg>
+<reg name="ENDPTCTRL10" sct="no">
+<addr name="ENDPTCTRL10" addr="0x1e8" />
+</reg>
+<reg name="ENDPTCTRL11" sct="no">
+<addr name="ENDPTCTRL11" addr="0x1ec" />
+</reg>
+<reg name="ENDPTCTRL12" sct="no">
+<addr name="ENDPTCTRL12" addr="0x1f0" />
+</reg>
+<reg name="ENDPTCTRL13" sct="no">
+<addr name="ENDPTCTRL13" addr="0x1f4" />
+</reg>
+<reg name="ENDPTCTRL14" sct="no">
+<addr name="ENDPTCTRL14" addr="0x1f8" />
+</reg>
+<reg name="ENDPTCTRL15" sct="no">
+<addr name="ENDPTCTRL15" addr="0x1fc" />
+</reg>
+<reg name="ENDPTCTRLn" sct="no">
+<formula string="0x1c0+n*0x4"/>
+<addr name="ENDPTCTRL0" addr="0x1c0" />
+<addr name="ENDPTCTRL1" addr="0x1c4" />
+<addr name="ENDPTCTRL2" addr="0x1c8" />
+<addr name="ENDPTCTRL3" addr="0x1cc" />
+<addr name="ENDPTCTRL4" addr="0x1d0" />
+</reg>
+</dev>
+<dev name="USBPHY" long_name="USB Physical Interface" desc="Integrated USB 2.0 PHY" version="2.3.0">
+<addr name="USBPHY" addr="0x8007c000" />
+<reg name="PWD" sct="yes">
+<addr name="PWD" addr="0x0" />
+<field name="RXPWDRX" bitrange="20:20">
+</field>
+<field name="RXPWDDIFF" bitrange="19:19">
+</field>
+<field name="RXPWD1PT1" bitrange="18:18">
+</field>
+<field name="RXPWDENV" bitrange="17:17">
+</field>
+<field name="TXPWDCOMP" bitrange="14:14">
+</field>
+<field name="TXPWDVBG" bitrange="13:13">
+</field>
+<field name="TXPWDV2I" bitrange="12:12">
+</field>
+<field name="TXPWDIBIAS" bitrange="11:11">
+</field>
+<field name="TXPWDFS" bitrange="10:10">
+</field>
+</reg>
+<reg name="TX" sct="yes">
+<addr name="TX" addr="0x10" />
+<field name="TXCMPOUT_STATUS" bitrange="23:23">
+</field>
+<field name="TXENCAL45DP" bitrange="21:21">
+</field>
+<field name="TXCAL45DP" bitrange="20:16">
+</field>
+<field name="TXENCAL45DN" bitrange="13:13">
+</field>
+<field name="TXCAL45DN" bitrange="12:8">
+</field>
+<field name="TXCALIBRATE" bitrange="7:7">
+</field>
+</reg>
+<reg name="RX" sct="yes">
+<addr name="RX" addr="0x20" />
+<field name="RXDBYPASS" bitrange="22:22">
+</field>
+<field name="DISCONADJ" bitrange="5:4">
+</field>
+<field name="ENVADJ" bitrange="1:0">
+</field>
+</reg>
+<reg name="CTRL" sct="yes">
+<addr name="CTRL" addr="0x30" />
+<field name="SFTRST" bitrange="31:31">
+</field>
+<field name="CLKGATE" bitrange="30:30">
+</field>
+<field name="UTMI_SUSPENDM" bitrange="29:29">
+</field>
+<field name="RESUME_IRQ" bitrange="10:10">
+</field>
+<field name="ENIRQRESUMEDETECT" bitrange="9:9">
+</field>
+<field name="ENOTGIDDETECT" bitrange="7:7">
+</field>
+<field name="ENDEVPLUGINDETECT" bitrange="4:4">
+</field>
+<field name="HOSTDISCONDETECT_IRQ" bitrange="3:3">
+</field>
+<field name="ENIRQHOSTDISCON" bitrange="2:2">
+</field>
+<field name="ENHOSTDISCONDETECT" bitrange="1:1">
+</field>
+<field name="ENHSPRECHARGEXMIT" bitrange="0:0">
+</field>
+</reg>
+<reg name="STATUS" sct="no">
+<addr name="STATUS" addr="0x40" />
+<field name="RESUME_STATUS" bitrange="10:10">
+</field>
+<field name="OTGID_STATUS" bitrange="8:8">
+</field>
+<field name="DEVPLUGIN_STATUS" bitrange="6:6">
+</field>
+<field name="HOSTDISCONDETECT_STATUS" bitrange="3:3">
+</field>
+</reg>
+<reg name="DEBUG" sct="yes">
+<addr name="DEBUG" addr="0x50" />
+<field name="CLKGATE" bitrange="30:30">
+</field>
+<field name="SQUELCHRESETLENGTH" bitrange="28:25">
+</field>
+<field name="ENSQUELCHRESET" bitrange="24:24">
+</field>
+<field name="SQUELCHRESETCOUNT" bitrange="20:16">
+</field>
+<field name="ENTX2RXCOUNT" bitrange="12:12">
+</field>
+<field name="TX2RXCOUNT" bitrange="11:8">
+</field>
+<field name="ENHSTPULLDOWN" bitrange="5:4">
+</field>
+<field name="HSTPULLDOWN" bitrange="3:2">
+</field>
+<field name="DEBUG_INTERFACE_HOLD" bitrange="1:1">
+</field>
+<field name="OTGIDPIOLOCK" bitrange="0:0">
+</field>
+</reg>
+<reg name="DEBUG0_STATUS" sct="no">
+<addr name="DEBUG0_STATUS" addr="0x60" />
+<field name="SQUELCH_COUNT" bitrange="31:26">
+</field>
+<field name="UTMI_RXERROR_FAIL_COUNT" bitrange="25:16">
+</field>
+<field name="LOOP_BACK_FAIL_COUNT" bitrange="15:0">
+</field>
+</reg>
+<reg name="DEBUG1_STATUS" sct="no">
+<addr name="DEBUG1_STATUS" addr="0x70" />
+<field name="UTMI_TX_DATA" bitrange="31:16">
+</field>
+<field name="UTMI_RX_DATA" bitrange="15:0">
+</field>
+</reg>
+<reg name="DEBUG2_STATUS" sct="no">
+<addr name="DEBUG2_STATUS" addr="0x80" />
+<field name="UTMI_TXVALIDH" bitrange="22:22">
+</field>
+<field name="UTMI_TXVALID" bitrange="21:21">
+</field>
+<field name="UTMI_TERMSELECT" bitrange="20:20">
+</field>
+<field name="UTMI_XCVRSELECT" bitrange="19:18">
+</field>
+<field name="UTMI_OPMODE" bitrange="17:16">
+</field>
+<field name="UTMI_LINESTATE" bitrange="7:6">
+</field>
+<field name="UTMI_SUSPENDM" bitrange="5:5">
+</field>
+<field name="UTMI_RXVALIDH" bitrange="4:4">
+</field>
+<field name="UTMI_RXVALID" bitrange="3:3">
+</field>
+<field name="UTMI_RXACTIVE" bitrange="2:2">
+</field>
+<field name="UTMI_RXERROR" bitrange="1:1">
+</field>
+<field name="UTMI_TXREADY" bitrange="0:0">
+</field>
+</reg>
+<reg name="DEBUG3_STATUS" sct="no">
+<addr name="DEBUG3_STATUS" addr="0x90" />
+<field name="B_CNT_FSM" bitrange="30:28">
+</field>
+<field name="SQ_UNLOCK_FSM" bitrange="25:23">
+</field>
+<field name="BIT_CNT" bitrange="21:12">
+</field>
+<field name="MAIN_HS_RX_FSM" bitrange="11:8">
+</field>
+<field name="UNSTUFF_BIT_CNT" bitrange="7:0">
+</field>
+</reg>
+<reg name="DEBUG4_STATUS" sct="no">
+<addr name="DEBUG4_STATUS" addr="0xa0" />
+<field name="BYTE_FSM" bitrange="28:16">
+</field>
+<field name="SND_FSM" bitrange="13:0">
+</field>
+</reg>
+<reg name="DEBUG5_STATUS" sct="no">
+<addr name="DEBUG5_STATUS" addr="0xb0" />
+<field name="MAIN_FSM" bitrange="27:24">
+</field>
+<field name="SYNC_FSM" bitrange="21:16">
+</field>
+<field name="PRECHARGE_FSM" bitrange="14:12">
+</field>
+<field name="SHIFT_FSM" bitrange="10:8">
+</field>
+<field name="SOF_FSM" bitrange="4:0">
+</field>
+</reg>
+<reg name="DEBUG6_STATUS" sct="no">
+<addr name="DEBUG6_STATUS" addr="0xc0" />
+<field name="FIRST_EOP_FSM" bitrange="10:8">
+</field>
+<field name="EOP_FSM" bitrange="7:0">
+</field>
+</reg>
+<reg name="DEBUG7_STATUS" sct="no">
+<addr name="DEBUG7_STATUS" addr="0xd0" />
+<field name="FIRST_DATA_FSM" bitrange="29:28">
+</field>
+<field name="BIT_CNT" bitrange="27:24">
+</field>
+<field name="UNSTUFF_CNT" bitrange="22:20">
+</field>
+<field name="LD_FSM" bitrange="17:16">
+</field>
+<field name="FIFO_FSM" bitrange="13:8">
+</field>
+<field name="MAIN_FSM" bitrange="7:4">
+</field>
+<field name="EOP_FSM" bitrange="3:0">
+</field>
+</reg>
+<reg name="DEBUG8_STATUS" sct="no">
+<addr name="DEBUG8_STATUS" addr="0xe0" />
+<field name="RX_SIE_FSM" bitrange="31:28">
+</field>
+<field name="TX_SIE_FSM" bitrange="27:24">
+</field>
+<field name="SHIFT_FSM" bitrange="9:8">
+</field>
+<field name="FS_TX_MAIN_FSM" bitrange="6:0">
+</field>
+</reg>
+</dev>
+</soc>