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