betrusted-renode/Betrusted SoC.svd

2886 lines
123 KiB
XML

<?xml version="1.0" encoding="utf-8"?>
<device schemaVersion="1.1" xmlns:xs="http://www.w3.org/2001/XMLSchema-instance" xs:noNamespaceSchemaLocation="CMSIS-SVD.xsd" >
<vendor>Betrusted-IO</vendor>
<name>BETRUSTED SOC</name>
<description><![CDATA[Primary UI Core for Betrusted]]></description>
<addressUnitBits>8</addressUnitBits>
<width>32</width>
<size>32</size>
<access>read-write</access>
<resetValue>0x00000000</resetValue>
<resetMask>0xFFFFFFFF</resetMask>
<peripherals>
<peripheral>
<name>BTEVENTS</name>
<baseAddress>0xF0006800</baseAddress>
<groupName>BTEVENTS</groupName>
<registers>
<register>
<name>EV_STATUS</name>
<addressOffset>0x0000</addressOffset>
<resetValue>0x00</resetValue>
<fields>
<field>
<name>status</name>
<msb>1</msb>
<bitRange>[1:0]</bitRange>
<lsb>0</lsb>
</field>
</fields>
</register>
<register>
<name>EV_PENDING</name>
<addressOffset>0x0004</addressOffset>
<resetValue>0x00</resetValue>
<fields>
<field>
<name>pending</name>
<msb>1</msb>
<bitRange>[1:0]</bitRange>
<lsb>0</lsb>
</field>
</fields>
</register>
<register>
<name>EV_ENABLE</name>
<addressOffset>0x0008</addressOffset>
<resetValue>0x00</resetValue>
<fields>
<field>
<name>enable</name>
<msb>1</msb>
<bitRange>[1:0]</bitRange>
<lsb>0</lsb>
</field>
</fields>
</register>
</registers>
<addressBlock>
<offset>0</offset>
<size>0xc</size>
<usage>registers</usage>
</addressBlock>
<interrupt>
<name>btevents</name>
<value>3</value>
</interrupt>
</peripheral>
<peripheral>
<name>COM</name>
<baseAddress>0xF0005800</baseAddress>
<groupName>COM</groupName>
<registers>
<register>
<name>TX1</name>
<description><![CDATA[Bits 8-15 of `COM_TX`. Tx data, for MOSI.]]></description>
<addressOffset>0x0000</addressOffset>
<resetValue>0x00</resetValue>
<fields>
<field>
<name>tx</name>
<msb>7</msb>
<bitRange>[7:0]</bitRange>
<lsb>0</lsb>
</field>
</fields>
</register>
<register>
<name>TX0</name>
<description><![CDATA[Bits 0-7 of `COM_TX`.]]></description>
<addressOffset>0x0004</addressOffset>
<resetValue>0x00</resetValue>
<fields>
<field>
<name>tx</name>
<msb>7</msb>
<bitRange>[7:0]</bitRange>
<lsb>0</lsb>
</field>
</fields>
</register>
<register>
<name>RX1</name>
<description><![CDATA[Bits 8-15 of `COM_RX`. Rx data, from MISO]]></description>
<addressOffset>0x0008</addressOffset>
<resetValue>0x00</resetValue>
<fields>
<field>
<name>rx</name>
<msb>7</msb>
<bitRange>[7:0]</bitRange>
<lsb>0</lsb>
</field>
</fields>
</register>
<register>
<name>RX0</name>
<description><![CDATA[Bits 0-7 of `COM_RX`.]]></description>
<addressOffset>0x000c</addressOffset>
<resetValue>0x00</resetValue>
<fields>
<field>
<name>rx</name>
<msb>7</msb>
<bitRange>[7:0]</bitRange>
<lsb>0</lsb>
</field>
</fields>
</register>
<register>
<name>CONTROL</name>
<addressOffset>0x0010</addressOffset>
<resetValue>0x00</resetValue>
<fields>
<field>
<name>clrdone</name>
<msb>0</msb>
<bitRange>[0:0]</bitRange>
<lsb>0</lsb>
<description><![CDATA[Clear the done field]]></description>
</field>
<field>
<name>go</name>
<msb>1</msb>
<bitRange>[1:1]</bitRange>
<lsb>1</lsb>
<description><![CDATA[Initiates the SPI transaction]]></description>
</field>
<field>
<name>intena</name>
<msb>2</msb>
<bitRange>[2:2]</bitRange>
<lsb>2</lsb>
<description><![CDATA[Enable interrupt on transaction finished]]></description>
</field>
</fields>
</register>
<register>
<name>STATUS</name>
<addressOffset>0x0014</addressOffset>
<resetValue>0x00</resetValue>
<fields>
<field>
<name>tip</name>
<msb>0</msb>
<bitRange>[0:0]</bitRange>
<lsb>0</lsb>
<description><![CDATA[Set when transaction is in progress]]></description>
</field>
<field>
<name>done</name>
<msb>1</msb>
<bitRange>[1:1]</bitRange>
<lsb>1</lsb>
<description><![CDATA[Set when transaction is finished, manually cleared]]></description>
</field>
</fields>
</register>
<register>
<name>EV_STATUS</name>
<addressOffset>0x0018</addressOffset>
<resetValue>0x00</resetValue>
<fields>
<field>
<name>status</name>
<msb>0</msb>
<bitRange>[0:0]</bitRange>
<lsb>0</lsb>
</field>
</fields>
</register>
<register>
<name>EV_PENDING</name>
<addressOffset>0x001c</addressOffset>
<resetValue>0x00</resetValue>
<fields>
<field>
<name>pending</name>
<msb>0</msb>
<bitRange>[0:0]</bitRange>
<lsb>0</lsb>
</field>
</fields>
</register>
<register>
<name>EV_ENABLE</name>
<addressOffset>0x0020</addressOffset>
<resetValue>0x00</resetValue>
<fields>
<field>
<name>enable</name>
<msb>0</msb>
<bitRange>[0:0]</bitRange>
<lsb>0</lsb>
</field>
</fields>
</register>
</registers>
<addressBlock>
<offset>0</offset>
<size>0x24</size>
<usage>registers</usage>
</addressBlock>
</peripheral>
<peripheral>
<name>CRG</name>
<baseAddress>0xF0003800</baseAddress>
<groupName>CRG</groupName>
<registers>
<register>
<name>MMCM_READ</name>
<addressOffset>0x0000</addressOffset>
<resetValue>0x00</resetValue>
<fields>
<field>
<name>mmcm_read</name>
<msb>0</msb>
<bitRange>[0:0]</bitRange>
<lsb>0</lsb>
</field>
</fields>
</register>
<register>
<name>MMCM_WRITE</name>
<addressOffset>0x0004</addressOffset>
<resetValue>0x00</resetValue>
<fields>
<field>
<name>mmcm_write</name>
<msb>0</msb>
<bitRange>[0:0]</bitRange>
<lsb>0</lsb>
</field>
</fields>
</register>
<register>
<name>MMCM_DRDY</name>
<addressOffset>0x0008</addressOffset>
<resetValue>0x00</resetValue>
<fields>
<field>
<name>mmcm_drdy</name>
<msb>0</msb>
<bitRange>[0:0]</bitRange>
<lsb>0</lsb>
</field>
</fields>
</register>
<register>
<name>MMCM_ADR</name>
<addressOffset>0x000c</addressOffset>
<resetValue>0x00</resetValue>
<fields>
<field>
<name>mmcm_adr</name>
<msb>6</msb>
<bitRange>[6:0]</bitRange>
<lsb>0</lsb>
</field>
</fields>
</register>
<register>
<name>MMCM_DAT_W1</name>
<description><![CDATA[Bits 8-15 of `CRG_MMCM_DAT_W`.]]></description>
<addressOffset>0x0010</addressOffset>
<resetValue>0x00</resetValue>
<fields>
<field>
<name>mmcm_dat_w</name>
<msb>7</msb>
<bitRange>[7:0]</bitRange>
<lsb>0</lsb>
</field>
</fields>
</register>
<register>
<name>MMCM_DAT_W0</name>
<description><![CDATA[Bits 0-7 of `CRG_MMCM_DAT_W`.]]></description>
<addressOffset>0x0014</addressOffset>
<resetValue>0x00</resetValue>
<fields>
<field>
<name>mmcm_dat_w</name>
<msb>7</msb>
<bitRange>[7:0]</bitRange>
<lsb>0</lsb>
</field>
</fields>
</register>
<register>
<name>MMCM_DAT_R1</name>
<description><![CDATA[Bits 8-15 of `CRG_MMCM_DAT_R`.]]></description>
<addressOffset>0x0018</addressOffset>
<resetValue>0x00</resetValue>
<fields>
<field>
<name>mmcm_dat_r</name>
<msb>7</msb>
<bitRange>[7:0]</bitRange>
<lsb>0</lsb>
</field>
</fields>
</register>
<register>
<name>MMCM_DAT_R0</name>
<description><![CDATA[Bits 0-7 of `CRG_MMCM_DAT_R`.]]></description>
<addressOffset>0x001c</addressOffset>
<resetValue>0x00</resetValue>
<fields>
<field>
<name>mmcm_dat_r</name>
<msb>7</msb>
<bitRange>[7:0]</bitRange>
<lsb>0</lsb>
</field>
</fields>
</register>
</registers>
<addressBlock>
<offset>0</offset>
<size>0x20</size>
<usage>registers</usage>
</addressBlock>
</peripheral>
<peripheral>
<name>CTRL</name>
<baseAddress>0xF0000000</baseAddress>
<groupName>CTRL</groupName>
<registers>
<register>
<name>RESET</name>
<addressOffset>0x0000</addressOffset>
<resetValue>0x00</resetValue>
<fields>
<field>
<name>reset</name>
<msb>0</msb>
<bitRange>[0:0]</bitRange>
<lsb>0</lsb>
</field>
</fields>
</register>
<register>
<name>SCRATCH3</name>
<description><![CDATA[Bits 24-31 of `CTRL_SCRATCH`.]]></description>
<addressOffset>0x0004</addressOffset>
<resetValue>0x12</resetValue>
<fields>
<field>
<name>scratch</name>
<msb>7</msb>
<bitRange>[7:0]</bitRange>
<lsb>0</lsb>
</field>
</fields>
</register>
<register>
<name>SCRATCH2</name>
<description><![CDATA[Bits 16-23 of `CTRL_SCRATCH`.]]></description>
<addressOffset>0x0008</addressOffset>
<resetValue>0x34</resetValue>
<fields>
<field>
<name>scratch</name>
<msb>7</msb>
<bitRange>[7:0]</bitRange>
<lsb>0</lsb>
</field>
</fields>
</register>
<register>
<name>SCRATCH1</name>
<description><![CDATA[Bits 8-15 of `CTRL_SCRATCH`.]]></description>
<addressOffset>0x000c</addressOffset>
<resetValue>0x56</resetValue>
<fields>
<field>
<name>scratch</name>
<msb>7</msb>
<bitRange>[7:0]</bitRange>
<lsb>0</lsb>
</field>
</fields>
</register>
<register>
<name>SCRATCH0</name>
<description><![CDATA[Bits 0-7 of `CTRL_SCRATCH`.]]></description>
<addressOffset>0x0010</addressOffset>
<resetValue>0x78</resetValue>
<fields>
<field>
<name>scratch</name>
<msb>7</msb>
<bitRange>[7:0]</bitRange>
<lsb>0</lsb>
</field>
</fields>
</register>
<register>
<name>BUS_ERRORS3</name>
<description><![CDATA[Bits 24-31 of `CTRL_BUS_ERRORS`.]]></description>
<addressOffset>0x0014</addressOffset>
<resetValue>0x00</resetValue>
<fields>
<field>
<name>bus_errors</name>
<msb>7</msb>
<bitRange>[7:0]</bitRange>
<lsb>0</lsb>
</field>
</fields>
</register>
<register>
<name>BUS_ERRORS2</name>
<description><![CDATA[Bits 16-23 of `CTRL_BUS_ERRORS`.]]></description>
<addressOffset>0x0018</addressOffset>
<resetValue>0x00</resetValue>
<fields>
<field>
<name>bus_errors</name>
<msb>7</msb>
<bitRange>[7:0]</bitRange>
<lsb>0</lsb>
</field>
</fields>
</register>
<register>
<name>BUS_ERRORS1</name>
<description><![CDATA[Bits 8-15 of `CTRL_BUS_ERRORS`.]]></description>
<addressOffset>0x001c</addressOffset>
<resetValue>0x00</resetValue>
<fields>
<field>
<name>bus_errors</name>
<msb>7</msb>
<bitRange>[7:0]</bitRange>
<lsb>0</lsb>
</field>
</fields>
</register>
<register>
<name>BUS_ERRORS0</name>
<description><![CDATA[Bits 0-7 of `CTRL_BUS_ERRORS`.]]></description>
<addressOffset>0x0020</addressOffset>
<resetValue>0x00</resetValue>
<fields>
<field>
<name>bus_errors</name>
<msb>7</msb>
<bitRange>[7:0]</bitRange>
<lsb>0</lsb>
</field>
</fields>
</register>
</registers>
<addressBlock>
<offset>0</offset>
<size>0x24</size>
<usage>registers</usage>
</addressBlock>
</peripheral>
<peripheral>
<name>I2C</name>
<baseAddress>0xF0006000</baseAddress>
<groupName>I2C</groupName>
<registers>
<register>
<name>PRESCALE1</name>
<description><![CDATA[Bits 8-15 of `I2C_PRESCALE`. Prescaler value. Set to (module clock / (5 * I2C
freq) - 1). Example: if module clock is equal to sysclk; syclk is 100MHz; and
I2C freq is 100kHz, then prescaler is (100MHz / (5 * 100kHz) - 1) = 199. Reset
value: 0xFFFF]]></description>
<addressOffset>0x0000</addressOffset>
<resetValue>0x7f</resetValue>
<fields>
<field>
<name>prescale</name>
<msb>7</msb>
<bitRange>[7:0]</bitRange>
<lsb>0</lsb>
</field>
</fields>
</register>
<register>
<name>PRESCALE0</name>
<description><![CDATA[Bits 0-7 of `I2C_PRESCALE`.]]></description>
<addressOffset>0x0004</addressOffset>
<resetValue>0x7f</resetValue>
<fields>
<field>
<name>prescale</name>
<msb>7</msb>
<bitRange>[7:0]</bitRange>
<lsb>0</lsb>
</field>
</fields>
</register>
<register>
<name>CONTROL</name>
<addressOffset>0x0008</addressOffset>
<resetValue>0x00</resetValue>
<fields>
<field>
<name>Resvd</name>
<msb>5</msb>
<bitRange>[5:0]</bitRange>
<lsb>0</lsb>
<description><![CDATA[Reserved (for cross-compatibility with OpenCores drivers)]]></description>
</field>
<field>
<name>IEN</name>
<msb>6</msb>
<bitRange>[6:6]</bitRange>
<lsb>6</lsb>
<description><![CDATA[When set to `1`, interrupts are enabled.]]></description>
</field>
<field>
<name>EN</name>
<msb>7</msb>
<bitRange>[7:7]</bitRange>
<lsb>7</lsb>
<description><![CDATA[When set to `1`, the core is enabled.]]></description>
</field>
</fields>
</register>
<register>
<name>TXR</name>
<description><![CDATA[Next byte to transmit to slave devices. LSB indicates R/W during address phases,
`1` for reading from slaves, `0` for writing to slaves]]></description>
<addressOffset>0x000c</addressOffset>
<resetValue>0x00</resetValue>
<fields>
<field>
<name>txr</name>
<msb>7</msb>
<bitRange>[7:0]</bitRange>
<lsb>0</lsb>
</field>
</fields>
</register>
<register>
<name>RXR</name>
<description><![CDATA[Data being read from slaved devices]]></description>
<addressOffset>0x0010</addressOffset>
<resetValue>0x00</resetValue>
<fields>
<field>
<name>rxr</name>
<msb>7</msb>
<bitRange>[7:0]</bitRange>
<lsb>0</lsb>
</field>
</fields>
</register>
<register>
<name>COMMAND</name>
<addressOffset>0x0014</addressOffset>
<resetValue>0x00</resetValue>
<fields>
<field>
<name>IACK</name>
<msb>0</msb>
<bitRange>[0:0]</bitRange>
<lsb>0</lsb>
<description><![CDATA[Interrupt acknowledge; when set, clears a pending interrupt]]></description>
</field>
<field>
<name>Resvd</name>
<msb>2</msb>
<bitRange>[2:1]</bitRange>
<lsb>1</lsb>
<description><![CDATA[reserved for cross-compatibility with OpenCores drivers]]></description>
</field>
<field>
<name>ACK</name>
<msb>3</msb>
<bitRange>[3:3]</bitRange>
<lsb>3</lsb>
<description><![CDATA[when a receiver, sent ack (`ACK=0`) or nack (`ACK=1`)]]></description>
</field>
<field>
<name>WR</name>
<msb>4</msb>
<bitRange>[4:4]</bitRange>
<lsb>4</lsb>
<description><![CDATA[write to slave]]></description>
</field>
<field>
<name>RD</name>
<msb>5</msb>
<bitRange>[5:5]</bitRange>
<lsb>5</lsb>
<description><![CDATA[read from slave]]></description>
</field>
<field>
<name>STO</name>
<msb>6</msb>
<bitRange>[6:6]</bitRange>
<lsb>6</lsb>
<description><![CDATA[generate stop condition]]></description>
</field>
<field>
<name>STA</name>
<msb>7</msb>
<bitRange>[7:7]</bitRange>
<lsb>7</lsb>
<description><![CDATA[generate (repeated) start condition]]></description>
</field>
</fields>
</register>
<register>
<name>STATUS</name>
<addressOffset>0x0018</addressOffset>
<resetValue>0x00</resetValue>
<fields>
<field>
<name>IF</name>
<msb>0</msb>
<bitRange>[0:0]</bitRange>
<lsb>0</lsb>
<description><![CDATA[Interrupt flag, This bit is set when an interrupt is pending, which will cause a
processor interrupt request if the IEN bit is set. The Interrupt Flag is set
upon the completion of one byte of data transfer.]]></description>
</field>
<field>
<name>TIP</name>
<msb>1</msb>
<bitRange>[1:1]</bitRange>
<lsb>1</lsb>
<description><![CDATA[transfer in progress]]></description>
</field>
<field>
<name>Resvd</name>
<msb>4</msb>
<bitRange>[4:2]</bitRange>
<lsb>2</lsb>
<description><![CDATA[reserved for cross-compatibility with OpenCores drivers]]></description>
</field>
<field>
<name>ArbLost</name>
<msb>5</msb>
<bitRange>[5:5]</bitRange>
<lsb>5</lsb>
<description><![CDATA[Set when arbitration for the bus is lost]]></description>
</field>
<field>
<name>Busy</name>
<msb>6</msb>
<bitRange>[6:6]</bitRange>
<lsb>6</lsb>
<description><![CDATA[I2C block is busy processing the latest command]]></description>
</field>
<field>
<name>RxACK</name>
<msb>7</msb>
<bitRange>[7:7]</bitRange>
<lsb>7</lsb>
<description><![CDATA[Received acknowledge from slave. 1 = no ack received, 0 = ack received]]></description>
</field>
</fields>
</register>
<register>
<name>EV_STATUS</name>
<addressOffset>0x001c</addressOffset>
<resetValue>0x00</resetValue>
<fields>
<field>
<name>status</name>
<msb>0</msb>
<bitRange>[0:0]</bitRange>
<lsb>0</lsb>
</field>
</fields>
</register>
<register>
<name>EV_PENDING</name>
<addressOffset>0x0020</addressOffset>
<resetValue>0x00</resetValue>
<fields>
<field>
<name>pending</name>
<msb>0</msb>
<bitRange>[0:0]</bitRange>
<lsb>0</lsb>
</field>
</fields>
</register>
<register>
<name>EV_ENABLE</name>
<addressOffset>0x0024</addressOffset>
<resetValue>0x00</resetValue>
<fields>
<field>
<name>enable</name>
<msb>0</msb>
<bitRange>[0:0]</bitRange>
<lsb>0</lsb>
</field>
</fields>
</register>
</registers>
<addressBlock>
<offset>0</offset>
<size>0x28</size>
<usage>registers</usage>
</addressBlock>
<interrupt>
<name>i2c</name>
<value>2</value>
</interrupt>
</peripheral>
<peripheral>
<name>INFO</name>
<baseAddress>0xF0004000</baseAddress>
<groupName>INFO</groupName>
<registers>
<register>
<name>DNA_ID7</name>
<description><![CDATA[Bits 56-56 of `INFO_DNA_ID`.]]></description>
<addressOffset>0x0000</addressOffset>
<resetValue>0x00</resetValue>
<fields>
<field>
<name>dna_id</name>
<msb>7</msb>
<bitRange>[7:0]</bitRange>
<lsb>0</lsb>
</field>
</fields>
</register>
<register>
<name>DNA_ID6</name>
<description><![CDATA[Bits 48-55 of `INFO_DNA_ID`.]]></description>
<addressOffset>0x0004</addressOffset>
<resetValue>0x00</resetValue>
<fields>
<field>
<name>dna_id</name>
<msb>7</msb>
<bitRange>[7:0]</bitRange>
<lsb>0</lsb>
</field>
</fields>
</register>
<register>
<name>DNA_ID5</name>
<description><![CDATA[Bits 40-47 of `INFO_DNA_ID`.]]></description>
<addressOffset>0x0008</addressOffset>
<resetValue>0x00</resetValue>
<fields>
<field>
<name>dna_id</name>
<msb>7</msb>
<bitRange>[7:0]</bitRange>
<lsb>0</lsb>
</field>
</fields>
</register>
<register>
<name>DNA_ID4</name>
<description><![CDATA[Bits 32-39 of `INFO_DNA_ID`.]]></description>
<addressOffset>0x000c</addressOffset>
<resetValue>0x00</resetValue>
<fields>
<field>
<name>dna_id</name>
<msb>7</msb>
<bitRange>[7:0]</bitRange>
<lsb>0</lsb>
</field>
</fields>
</register>
<register>
<name>DNA_ID3</name>
<description><![CDATA[Bits 24-31 of `INFO_DNA_ID`.]]></description>
<addressOffset>0x0010</addressOffset>
<resetValue>0x00</resetValue>
<fields>
<field>
<name>dna_id</name>
<msb>7</msb>
<bitRange>[7:0]</bitRange>
<lsb>0</lsb>
</field>
</fields>
</register>
<register>
<name>DNA_ID2</name>
<description><![CDATA[Bits 16-23 of `INFO_DNA_ID`.]]></description>
<addressOffset>0x0014</addressOffset>
<resetValue>0x00</resetValue>
<fields>
<field>
<name>dna_id</name>
<msb>7</msb>
<bitRange>[7:0]</bitRange>
<lsb>0</lsb>
</field>
</fields>
</register>
<register>
<name>DNA_ID1</name>
<description><![CDATA[Bits 8-15 of `INFO_DNA_ID`.]]></description>
<addressOffset>0x0018</addressOffset>
<resetValue>0x00</resetValue>
<fields>
<field>
<name>dna_id</name>
<msb>7</msb>
<bitRange>[7:0]</bitRange>
<lsb>0</lsb>
</field>
</fields>
</register>
<register>
<name>DNA_ID0</name>
<description><![CDATA[Bits 0-7 of `INFO_DNA_ID`.]]></description>
<addressOffset>0x001c</addressOffset>
<resetValue>0x00</resetValue>
<fields>
<field>
<name>dna_id</name>
<msb>7</msb>
<bitRange>[7:0]</bitRange>
<lsb>0</lsb>
</field>
</fields>
</register>
<register>
<name>GIT_COMMIT19</name>
<description><![CDATA[Bits 152-159 of `INFO_GIT_COMMIT`.]]></description>
<addressOffset>0x0020</addressOffset>
<resetValue>0x00</resetValue>
<fields>
<field>
<name>git_commit</name>
<msb>7</msb>
<bitRange>[7:0]</bitRange>
<lsb>0</lsb>
</field>
</fields>
</register>
<register>
<name>GIT_COMMIT18</name>
<description><![CDATA[Bits 144-151 of `INFO_GIT_COMMIT`.]]></description>
<addressOffset>0x0024</addressOffset>
<resetValue>0x00</resetValue>
<fields>
<field>
<name>git_commit</name>
<msb>7</msb>
<bitRange>[7:0]</bitRange>
<lsb>0</lsb>
</field>
</fields>
</register>
<register>
<name>GIT_COMMIT17</name>
<description><![CDATA[Bits 136-143 of `INFO_GIT_COMMIT`.]]></description>
<addressOffset>0x0028</addressOffset>
<resetValue>0x00</resetValue>
<fields>
<field>
<name>git_commit</name>
<msb>7</msb>
<bitRange>[7:0]</bitRange>
<lsb>0</lsb>
</field>
</fields>
</register>
<register>
<name>GIT_COMMIT16</name>
<description><![CDATA[Bits 128-135 of `INFO_GIT_COMMIT`.]]></description>
<addressOffset>0x002c</addressOffset>
<resetValue>0x00</resetValue>
<fields>
<field>
<name>git_commit</name>
<msb>7</msb>
<bitRange>[7:0]</bitRange>
<lsb>0</lsb>
</field>
</fields>
</register>
<register>
<name>GIT_COMMIT15</name>
<description><![CDATA[Bits 120-127 of `INFO_GIT_COMMIT`.]]></description>
<addressOffset>0x0030</addressOffset>
<resetValue>0x00</resetValue>
<fields>
<field>
<name>git_commit</name>
<msb>7</msb>
<bitRange>[7:0]</bitRange>
<lsb>0</lsb>
</field>
</fields>
</register>
<register>
<name>GIT_COMMIT14</name>
<description><![CDATA[Bits 112-119 of `INFO_GIT_COMMIT`.]]></description>
<addressOffset>0x0034</addressOffset>
<resetValue>0x00</resetValue>
<fields>
<field>
<name>git_commit</name>
<msb>7</msb>
<bitRange>[7:0]</bitRange>
<lsb>0</lsb>
</field>
</fields>
</register>
<register>
<name>GIT_COMMIT13</name>
<description><![CDATA[Bits 104-111 of `INFO_GIT_COMMIT`.]]></description>
<addressOffset>0x0038</addressOffset>
<resetValue>0x00</resetValue>
<fields>
<field>
<name>git_commit</name>
<msb>7</msb>
<bitRange>[7:0]</bitRange>
<lsb>0</lsb>
</field>
</fields>
</register>
<register>
<name>GIT_COMMIT12</name>
<description><![CDATA[Bits 96-103 of `INFO_GIT_COMMIT`.]]></description>
<addressOffset>0x003c</addressOffset>
<resetValue>0x00</resetValue>
<fields>
<field>
<name>git_commit</name>
<msb>7</msb>
<bitRange>[7:0]</bitRange>
<lsb>0</lsb>
</field>
</fields>
</register>
<register>
<name>GIT_COMMIT11</name>
<description><![CDATA[Bits 88-95 of `INFO_GIT_COMMIT`.]]></description>
<addressOffset>0x0040</addressOffset>
<resetValue>0x00</resetValue>
<fields>
<field>
<name>git_commit</name>
<msb>7</msb>
<bitRange>[7:0]</bitRange>
<lsb>0</lsb>
</field>
</fields>
</register>
<register>
<name>GIT_COMMIT10</name>
<description><![CDATA[Bits 80-87 of `INFO_GIT_COMMIT`.]]></description>
<addressOffset>0x0044</addressOffset>
<resetValue>0x00</resetValue>
<fields>
<field>
<name>git_commit</name>
<msb>7</msb>
<bitRange>[7:0]</bitRange>
<lsb>0</lsb>
</field>
</fields>
</register>
<register>
<name>GIT_COMMIT9</name>
<description><![CDATA[Bits 72-79 of `INFO_GIT_COMMIT`.]]></description>
<addressOffset>0x0048</addressOffset>
<resetValue>0x00</resetValue>
<fields>
<field>
<name>git_commit</name>
<msb>7</msb>
<bitRange>[7:0]</bitRange>
<lsb>0</lsb>
</field>
</fields>
</register>
<register>
<name>GIT_COMMIT8</name>
<description><![CDATA[Bits 64-71 of `INFO_GIT_COMMIT`.]]></description>
<addressOffset>0x004c</addressOffset>
<resetValue>0x00</resetValue>
<fields>
<field>
<name>git_commit</name>
<msb>7</msb>
<bitRange>[7:0]</bitRange>
<lsb>0</lsb>
</field>
</fields>
</register>
<register>
<name>GIT_COMMIT7</name>
<description><![CDATA[Bits 56-63 of `INFO_GIT_COMMIT`.]]></description>
<addressOffset>0x0050</addressOffset>
<resetValue>0x00</resetValue>
<fields>
<field>
<name>git_commit</name>
<msb>7</msb>
<bitRange>[7:0]</bitRange>
<lsb>0</lsb>
</field>
</fields>
</register>
<register>
<name>GIT_COMMIT6</name>
<description><![CDATA[Bits 48-55 of `INFO_GIT_COMMIT`.]]></description>
<addressOffset>0x0054</addressOffset>
<resetValue>0x00</resetValue>
<fields>
<field>
<name>git_commit</name>
<msb>7</msb>
<bitRange>[7:0]</bitRange>
<lsb>0</lsb>
</field>
</fields>
</register>
<register>
<name>GIT_COMMIT5</name>
<description><![CDATA[Bits 40-47 of `INFO_GIT_COMMIT`.]]></description>
<addressOffset>0x0058</addressOffset>
<resetValue>0x00</resetValue>
<fields>
<field>
<name>git_commit</name>
<msb>7</msb>
<bitRange>[7:0]</bitRange>
<lsb>0</lsb>
</field>
</fields>
</register>
<register>
<name>GIT_COMMIT4</name>
<description><![CDATA[Bits 32-39 of `INFO_GIT_COMMIT`.]]></description>
<addressOffset>0x005c</addressOffset>
<resetValue>0x00</resetValue>
<fields>
<field>
<name>git_commit</name>
<msb>7</msb>
<bitRange>[7:0]</bitRange>
<lsb>0</lsb>
</field>
</fields>
</register>
<register>
<name>GIT_COMMIT3</name>
<description><![CDATA[Bits 24-31 of `INFO_GIT_COMMIT`.]]></description>
<addressOffset>0x0060</addressOffset>
<resetValue>0x00</resetValue>
<fields>
<field>
<name>git_commit</name>
<msb>7</msb>
<bitRange>[7:0]</bitRange>
<lsb>0</lsb>
</field>
</fields>
</register>
<register>
<name>GIT_COMMIT2</name>
<description><![CDATA[Bits 16-23 of `INFO_GIT_COMMIT`.]]></description>
<addressOffset>0x0064</addressOffset>
<resetValue>0x00</resetValue>
<fields>
<field>
<name>git_commit</name>
<msb>7</msb>
<bitRange>[7:0]</bitRange>
<lsb>0</lsb>
</field>
</fields>
</register>
<register>
<name>GIT_COMMIT1</name>
<description><![CDATA[Bits 8-15 of `INFO_GIT_COMMIT`.]]></description>
<addressOffset>0x0068</addressOffset>
<resetValue>0x00</resetValue>
<fields>
<field>
<name>git_commit</name>
<msb>7</msb>
<bitRange>[7:0]</bitRange>
<lsb>0</lsb>
</field>
</fields>
</register>
<register>
<name>GIT_COMMIT0</name>
<description><![CDATA[Bits 0-7 of `INFO_GIT_COMMIT`.]]></description>
<addressOffset>0x006c</addressOffset>
<resetValue>0x00</resetValue>
<fields>
<field>
<name>git_commit</name>
<msb>7</msb>
<bitRange>[7:0]</bitRange>
<lsb>0</lsb>
</field>
</fields>
</register>
<register>
<name>PLATFORM_PLATFORM7</name>
<description><![CDATA[Bits 56-63 of `INFO_PLATFORM_PLATFORM`.]]></description>
<addressOffset>0x0070</addressOffset>
<resetValue>0x00</resetValue>
<fields>
<field>
<name>platform_platform</name>
<msb>7</msb>
<bitRange>[7:0]</bitRange>
<lsb>0</lsb>
</field>
</fields>
</register>
<register>
<name>PLATFORM_PLATFORM6</name>
<description><![CDATA[Bits 48-55 of `INFO_PLATFORM_PLATFORM`.]]></description>
<addressOffset>0x0074</addressOffset>
<resetValue>0x00</resetValue>
<fields>
<field>
<name>platform_platform</name>
<msb>7</msb>
<bitRange>[7:0]</bitRange>
<lsb>0</lsb>
</field>
</fields>
</register>
<register>
<name>PLATFORM_PLATFORM5</name>
<description><![CDATA[Bits 40-47 of `INFO_PLATFORM_PLATFORM`.]]></description>
<addressOffset>0x0078</addressOffset>
<resetValue>0x00</resetValue>
<fields>
<field>
<name>platform_platform</name>
<msb>7</msb>
<bitRange>[7:0]</bitRange>
<lsb>0</lsb>
</field>
</fields>
</register>
<register>
<name>PLATFORM_PLATFORM4</name>
<description><![CDATA[Bits 32-39 of `INFO_PLATFORM_PLATFORM`.]]></description>
<addressOffset>0x007c</addressOffset>
<resetValue>0x00</resetValue>
<fields>
<field>
<name>platform_platform</name>
<msb>7</msb>
<bitRange>[7:0]</bitRange>
<lsb>0</lsb>
</field>
</fields>
</register>
<register>
<name>PLATFORM_PLATFORM3</name>
<description><![CDATA[Bits 24-31 of `INFO_PLATFORM_PLATFORM`.]]></description>
<addressOffset>0x0080</addressOffset>
<resetValue>0x00</resetValue>
<fields>
<field>
<name>platform_platform</name>
<msb>7</msb>
<bitRange>[7:0]</bitRange>
<lsb>0</lsb>
</field>
</fields>
</register>
<register>
<name>PLATFORM_PLATFORM2</name>
<description><![CDATA[Bits 16-23 of `INFO_PLATFORM_PLATFORM`.]]></description>
<addressOffset>0x0084</addressOffset>
<resetValue>0x00</resetValue>
<fields>
<field>
<name>platform_platform</name>
<msb>7</msb>
<bitRange>[7:0]</bitRange>
<lsb>0</lsb>
</field>
</fields>
</register>
<register>
<name>PLATFORM_PLATFORM1</name>
<description><![CDATA[Bits 8-15 of `INFO_PLATFORM_PLATFORM`.]]></description>
<addressOffset>0x0088</addressOffset>
<resetValue>0x00</resetValue>
<fields>
<field>
<name>platform_platform</name>
<msb>7</msb>
<bitRange>[7:0]</bitRange>
<lsb>0</lsb>
</field>
</fields>
</register>
<register>
<name>PLATFORM_PLATFORM0</name>
<description><![CDATA[Bits 0-7 of `INFO_PLATFORM_PLATFORM`.]]></description>
<addressOffset>0x008c</addressOffset>
<resetValue>0x00</resetValue>
<fields>
<field>
<name>platform_platform</name>
<msb>7</msb>
<bitRange>[7:0]</bitRange>
<lsb>0</lsb>
</field>
</fields>
</register>
<register>
<name>PLATFORM_TARGET7</name>
<description><![CDATA[Bits 56-63 of `INFO_PLATFORM_TARGET`.]]></description>
<addressOffset>0x0090</addressOffset>
<resetValue>0x00</resetValue>
<fields>
<field>
<name>platform_target</name>
<msb>7</msb>
<bitRange>[7:0]</bitRange>
<lsb>0</lsb>
</field>
</fields>
</register>
<register>
<name>PLATFORM_TARGET6</name>
<description><![CDATA[Bits 48-55 of `INFO_PLATFORM_TARGET`.]]></description>
<addressOffset>0x0094</addressOffset>
<resetValue>0x00</resetValue>
<fields>
<field>
<name>platform_target</name>
<msb>7</msb>
<bitRange>[7:0]</bitRange>
<lsb>0</lsb>
</field>
</fields>
</register>
<register>
<name>PLATFORM_TARGET5</name>
<description><![CDATA[Bits 40-47 of `INFO_PLATFORM_TARGET`.]]></description>
<addressOffset>0x0098</addressOffset>
<resetValue>0x00</resetValue>
<fields>
<field>
<name>platform_target</name>
<msb>7</msb>
<bitRange>[7:0]</bitRange>
<lsb>0</lsb>
</field>
</fields>
</register>
<register>
<name>PLATFORM_TARGET4</name>
<description><![CDATA[Bits 32-39 of `INFO_PLATFORM_TARGET`.]]></description>
<addressOffset>0x009c</addressOffset>
<resetValue>0x00</resetValue>
<fields>
<field>
<name>platform_target</name>
<msb>7</msb>
<bitRange>[7:0]</bitRange>
<lsb>0</lsb>
</field>
</fields>
</register>
<register>
<name>PLATFORM_TARGET3</name>
<description><![CDATA[Bits 24-31 of `INFO_PLATFORM_TARGET`.]]></description>
<addressOffset>0x00a0</addressOffset>
<resetValue>0x00</resetValue>
<fields>
<field>
<name>platform_target</name>
<msb>7</msb>
<bitRange>[7:0]</bitRange>
<lsb>0</lsb>
</field>
</fields>
</register>
<register>
<name>PLATFORM_TARGET2</name>
<description><![CDATA[Bits 16-23 of `INFO_PLATFORM_TARGET`.]]></description>
<addressOffset>0x00a4</addressOffset>
<resetValue>0x00</resetValue>
<fields>
<field>
<name>platform_target</name>
<msb>7</msb>
<bitRange>[7:0]</bitRange>
<lsb>0</lsb>
</field>
</fields>
</register>
<register>
<name>PLATFORM_TARGET1</name>
<description><![CDATA[Bits 8-15 of `INFO_PLATFORM_TARGET`.]]></description>
<addressOffset>0x00a8</addressOffset>
<resetValue>0x00</resetValue>
<fields>
<field>
<name>platform_target</name>
<msb>7</msb>
<bitRange>[7:0]</bitRange>
<lsb>0</lsb>
</field>
</fields>
</register>
<register>
<name>PLATFORM_TARGET0</name>
<description><![CDATA[Bits 0-7 of `INFO_PLATFORM_TARGET`.]]></description>
<addressOffset>0x00ac</addressOffset>
<resetValue>0x00</resetValue>
<fields>
<field>
<name>platform_target</name>
<msb>7</msb>
<bitRange>[7:0]</bitRange>
<lsb>0</lsb>
</field>
</fields>
</register>
<register>
<name>XADC_TEMPERATURE1</name>
<description><![CDATA[Bits 8-11 of `INFO_XADC_TEMPERATURE`.]]></description>
<addressOffset>0x00b0</addressOffset>
<resetValue>0x00</resetValue>
<fields>
<field>
<name>xadc_temperature</name>
<msb>7</msb>
<bitRange>[7:0]</bitRange>
<lsb>0</lsb>
</field>
</fields>
</register>
<register>
<name>XADC_TEMPERATURE0</name>
<description><![CDATA[Bits 0-7 of `INFO_XADC_TEMPERATURE`.]]></description>
<addressOffset>0x00b4</addressOffset>
<resetValue>0x00</resetValue>
<fields>
<field>
<name>xadc_temperature</name>
<msb>7</msb>
<bitRange>[7:0]</bitRange>
<lsb>0</lsb>
</field>
</fields>
</register>
<register>
<name>XADC_VCCINT1</name>
<description><![CDATA[Bits 8-11 of `INFO_XADC_VCCINT`.]]></description>
<addressOffset>0x00b8</addressOffset>
<resetValue>0x00</resetValue>
<fields>
<field>
<name>xadc_vccint</name>
<msb>7</msb>
<bitRange>[7:0]</bitRange>
<lsb>0</lsb>
</field>
</fields>
</register>
<register>
<name>XADC_VCCINT0</name>
<description><![CDATA[Bits 0-7 of `INFO_XADC_VCCINT`.]]></description>
<addressOffset>0x00bc</addressOffset>
<resetValue>0x00</resetValue>
<fields>
<field>
<name>xadc_vccint</name>
<msb>7</msb>
<bitRange>[7:0]</bitRange>
<lsb>0</lsb>
</field>
</fields>
</register>
<register>
<name>XADC_VCCAUX1</name>
<description><![CDATA[Bits 8-11 of `INFO_XADC_VCCAUX`.]]></description>
<addressOffset>0x00c0</addressOffset>
<resetValue>0x00</resetValue>
<fields>
<field>
<name>xadc_vccaux</name>
<msb>7</msb>
<bitRange>[7:0]</bitRange>
<lsb>0</lsb>
</field>
</fields>
</register>
<register>
<name>XADC_VCCAUX0</name>
<description><![CDATA[Bits 0-7 of `INFO_XADC_VCCAUX`.]]></description>
<addressOffset>0x00c4</addressOffset>
<resetValue>0x00</resetValue>
<fields>
<field>
<name>xadc_vccaux</name>
<msb>7</msb>
<bitRange>[7:0]</bitRange>
<lsb>0</lsb>
</field>
</fields>
</register>
<register>
<name>XADC_VCCBRAM1</name>
<description><![CDATA[Bits 8-11 of `INFO_XADC_VCCBRAM`.]]></description>
<addressOffset>0x00c8</addressOffset>
<resetValue>0x00</resetValue>
<fields>
<field>
<name>xadc_vccbram</name>
<msb>7</msb>
<bitRange>[7:0]</bitRange>
<lsb>0</lsb>
</field>
</fields>
</register>
<register>
<name>XADC_VCCBRAM0</name>
<description><![CDATA[Bits 0-7 of `INFO_XADC_VCCBRAM`.]]></description>
<addressOffset>0x00cc</addressOffset>
<resetValue>0x00</resetValue>
<fields>
<field>
<name>xadc_vccbram</name>
<msb>7</msb>
<bitRange>[7:0]</bitRange>
<lsb>0</lsb>
</field>
</fields>
</register>
</registers>
<addressBlock>
<offset>0</offset>
<size>0xd0</size>
<usage>registers</usage>
</addressBlock>
</peripheral>
<peripheral>
<name>KEYBOARD</name>
<baseAddress>0xF0009000</baseAddress>
<groupName>KEYBOARD</groupName>
<registers>
<register>
<name>ROW0DAT1</name>
<description><![CDATA[Bits 8-9 of `KEYBOARD_ROW0DAT`. Column data for the given row]]></description>
<addressOffset>0x0000</addressOffset>
<resetValue>0x00</resetValue>
<fields>
<field>
<name>row0dat</name>
<msb>7</msb>
<bitRange>[7:0]</bitRange>
<lsb>0</lsb>
</field>
</fields>
</register>
<register>
<name>ROW0DAT0</name>
<description><![CDATA[Bits 0-7 of `KEYBOARD_ROW0DAT`.]]></description>
<addressOffset>0x0004</addressOffset>
<resetValue>0x00</resetValue>
<fields>
<field>
<name>row0dat</name>
<msb>7</msb>
<bitRange>[7:0]</bitRange>
<lsb>0</lsb>
</field>
</fields>
</register>
<register>
<name>ROW1DAT1</name>
<description><![CDATA[Bits 8-9 of `KEYBOARD_ROW1DAT`. Column data for the given row]]></description>
<addressOffset>0x0008</addressOffset>
<resetValue>0x00</resetValue>
<fields>
<field>
<name>row1dat</name>
<msb>7</msb>
<bitRange>[7:0]</bitRange>
<lsb>0</lsb>
</field>
</fields>
</register>
<register>
<name>ROW1DAT0</name>
<description><![CDATA[Bits 0-7 of `KEYBOARD_ROW1DAT`.]]></description>
<addressOffset>0x000c</addressOffset>
<resetValue>0x00</resetValue>
<fields>
<field>
<name>row1dat</name>
<msb>7</msb>
<bitRange>[7:0]</bitRange>
<lsb>0</lsb>
</field>
</fields>
</register>
<register>
<name>ROW2DAT1</name>
<description><![CDATA[Bits 8-9 of `KEYBOARD_ROW2DAT`. Column data for the given row]]></description>
<addressOffset>0x0010</addressOffset>
<resetValue>0x00</resetValue>
<fields>
<field>
<name>row2dat</name>
<msb>7</msb>
<bitRange>[7:0]</bitRange>
<lsb>0</lsb>
</field>
</fields>
</register>
<register>
<name>ROW2DAT0</name>
<description><![CDATA[Bits 0-7 of `KEYBOARD_ROW2DAT`.]]></description>
<addressOffset>0x0014</addressOffset>
<resetValue>0x00</resetValue>
<fields>
<field>
<name>row2dat</name>
<msb>7</msb>
<bitRange>[7:0]</bitRange>
<lsb>0</lsb>
</field>
</fields>
</register>
<register>
<name>ROW3DAT1</name>
<description><![CDATA[Bits 8-9 of `KEYBOARD_ROW3DAT`. Column data for the given row]]></description>
<addressOffset>0x0018</addressOffset>
<resetValue>0x00</resetValue>
<fields>
<field>
<name>row3dat</name>
<msb>7</msb>
<bitRange>[7:0]</bitRange>
<lsb>0</lsb>
</field>
</fields>
</register>
<register>
<name>ROW3DAT0</name>
<description><![CDATA[Bits 0-7 of `KEYBOARD_ROW3DAT`.]]></description>
<addressOffset>0x001c</addressOffset>
<resetValue>0x00</resetValue>
<fields>
<field>
<name>row3dat</name>
<msb>7</msb>
<bitRange>[7:0]</bitRange>
<lsb>0</lsb>
</field>
</fields>
</register>
<register>
<name>ROW4DAT1</name>
<description><![CDATA[Bits 8-9 of `KEYBOARD_ROW4DAT`. Column data for the given row]]></description>
<addressOffset>0x0020</addressOffset>
<resetValue>0x00</resetValue>
<fields>
<field>
<name>row4dat</name>
<msb>7</msb>
<bitRange>[7:0]</bitRange>
<lsb>0</lsb>
</field>
</fields>
</register>
<register>
<name>ROW4DAT0</name>
<description><![CDATA[Bits 0-7 of `KEYBOARD_ROW4DAT`.]]></description>
<addressOffset>0x0024</addressOffset>
<resetValue>0x00</resetValue>
<fields>
<field>
<name>row4dat</name>
<msb>7</msb>
<bitRange>[7:0]</bitRange>
<lsb>0</lsb>
</field>
</fields>
</register>
<register>
<name>ROW5DAT1</name>
<description><![CDATA[Bits 8-9 of `KEYBOARD_ROW5DAT`. Column data for the given row]]></description>
<addressOffset>0x0028</addressOffset>
<resetValue>0x00</resetValue>
<fields>
<field>
<name>row5dat</name>
<msb>7</msb>
<bitRange>[7:0]</bitRange>
<lsb>0</lsb>
</field>
</fields>
</register>
<register>
<name>ROW5DAT0</name>
<description><![CDATA[Bits 0-7 of `KEYBOARD_ROW5DAT`.]]></description>
<addressOffset>0x002c</addressOffset>
<resetValue>0x00</resetValue>
<fields>
<field>
<name>row5dat</name>
<msb>7</msb>
<bitRange>[7:0]</bitRange>
<lsb>0</lsb>
</field>
</fields>
</register>
<register>
<name>ROW6DAT1</name>
<description><![CDATA[Bits 8-9 of `KEYBOARD_ROW6DAT`. Column data for the given row]]></description>
<addressOffset>0x0030</addressOffset>
<resetValue>0x00</resetValue>
<fields>
<field>
<name>row6dat</name>
<msb>7</msb>
<bitRange>[7:0]</bitRange>
<lsb>0</lsb>
</field>
</fields>
</register>
<register>
<name>ROW6DAT0</name>
<description><![CDATA[Bits 0-7 of `KEYBOARD_ROW6DAT`.]]></description>
<addressOffset>0x0034</addressOffset>
<resetValue>0x00</resetValue>
<fields>
<field>
<name>row6dat</name>
<msb>7</msb>
<bitRange>[7:0]</bitRange>
<lsb>0</lsb>
</field>
</fields>
</register>
<register>
<name>ROW7DAT1</name>
<description><![CDATA[Bits 8-9 of `KEYBOARD_ROW7DAT`. Column data for the given row]]></description>
<addressOffset>0x0038</addressOffset>
<resetValue>0x00</resetValue>
<fields>
<field>
<name>row7dat</name>
<msb>7</msb>
<bitRange>[7:0]</bitRange>
<lsb>0</lsb>
</field>
</fields>
</register>
<register>
<name>ROW7DAT0</name>
<description><![CDATA[Bits 0-7 of `KEYBOARD_ROW7DAT`.]]></description>
<addressOffset>0x003c</addressOffset>
<resetValue>0x00</resetValue>
<fields>
<field>
<name>row7dat</name>
<msb>7</msb>
<bitRange>[7:0]</bitRange>
<lsb>0</lsb>
</field>
</fields>
</register>
<register>
<name>ROW8DAT1</name>
<description><![CDATA[Bits 8-9 of `KEYBOARD_ROW8DAT`. Column data for the given row]]></description>
<addressOffset>0x0040</addressOffset>
<resetValue>0x00</resetValue>
<fields>
<field>
<name>row8dat</name>
<msb>7</msb>
<bitRange>[7:0]</bitRange>
<lsb>0</lsb>
</field>
</fields>
</register>
<register>
<name>ROW8DAT0</name>
<description><![CDATA[Bits 0-7 of `KEYBOARD_ROW8DAT`.]]></description>
<addressOffset>0x0044</addressOffset>
<resetValue>0x00</resetValue>
<fields>
<field>
<name>row8dat</name>
<msb>7</msb>
<bitRange>[7:0]</bitRange>
<lsb>0</lsb>
</field>
</fields>
</register>
<register>
<name>EV_STATUS</name>
<addressOffset>0x0048</addressOffset>
<resetValue>0x00</resetValue>
<fields>
<field>
<name>status</name>
<msb>0</msb>
<bitRange>[0:0]</bitRange>
<lsb>0</lsb>
</field>
</fields>
</register>
<register>
<name>EV_PENDING</name>
<addressOffset>0x004c</addressOffset>
<resetValue>0x00</resetValue>
<fields>
<field>
<name>pending</name>
<msb>0</msb>
<bitRange>[0:0]</bitRange>
<lsb>0</lsb>
</field>
</fields>
</register>
<register>
<name>EV_ENABLE</name>
<addressOffset>0x0050</addressOffset>
<resetValue>0x00</resetValue>
<fields>
<field>
<name>enable</name>
<msb>0</msb>
<bitRange>[0:0]</bitRange>
<lsb>0</lsb>
</field>
</fields>
</register>
<register>
<name>ROWCHANGE1</name>
<description><![CDATA[Bits 8-8 of `KEYBOARD_ROWCHANGE`. The rows that changed at the point of
interrupt generation. Does not update again until the interrupt is serviced.]]></description>
<addressOffset>0x0054</addressOffset>
<resetValue>0x00</resetValue>
<fields>
<field>
<name>rowchange</name>
<msb>7</msb>
<bitRange>[7:0]</bitRange>
<lsb>0</lsb>
</field>
</fields>
</register>
<register>
<name>ROWCHANGE0</name>
<description><![CDATA[Bits 0-7 of `KEYBOARD_ROWCHANGE`.]]></description>
<addressOffset>0x0058</addressOffset>
<resetValue>0x00</resetValue>
<fields>
<field>
<name>rowchange</name>
<msb>7</msb>
<bitRange>[7:0]</bitRange>
<lsb>0</lsb>
</field>
</fields>
</register>
</registers>
<addressBlock>
<offset>0</offset>
<size>0x5c</size>
<usage>registers</usage>
</addressBlock>
<interrupt>
<name>keyboard</name>
<value>4</value>
</interrupt>
</peripheral>
<peripheral>
<name>MEMLCD</name>
<baseAddress>0xF0005000</baseAddress>
<groupName>MEMLCD</groupName>
<registers>
<register>
<name>COMMAND</name>
<addressOffset>0x0000</addressOffset>
<resetValue>0x00</resetValue>
<fields>
<field>
<name>UpdateDirty</name>
<msb>0</msb>
<bitRange>[0:0]</bitRange>
<lsb>0</lsb>
<description><![CDATA[Write a ``1`` to flush dirty lines to the LCD]]></description>
</field>
<field>
<name>UpdateAll</name>
<msb>1</msb>
<bitRange>[1:1]</bitRange>
<lsb>1</lsb>
<description><![CDATA[Update full screen regardless of tag state]]></description>
</field>
</fields>
</register>
<register>
<name>BUSY</name>
<description><![CDATA[A ``1`` indicates that the block is currently updating the LCD]]></description>
<addressOffset>0x0004</addressOffset>
<resetValue>0x00</resetValue>
<fields>
<field>
<name>busy</name>
<msb>0</msb>
<bitRange>[0:0]</bitRange>
<lsb>0</lsb>
</field>
</fields>
</register>
<register>
<name>PRESCALER</name>
<description><![CDATA[Prescaler value. LCD clock is module (clock / (prescaler+1)). Reset value: 99,
so for a default sysclk of 100MHz this yields an LCD SCLK of 1MHz]]></description>
<addressOffset>0x0008</addressOffset>
<resetValue>0x63</resetValue>
<fields>
<field>
<name>prescaler</name>
<msb>7</msb>
<bitRange>[7:0]</bitRange>
<lsb>0</lsb>
</field>
</fields>
</register>
<register>
<name>EV_STATUS</name>
<addressOffset>0x000c</addressOffset>
<resetValue>0x00</resetValue>
<fields>
<field>
<name>status</name>
<msb>0</msb>
<bitRange>[0:0]</bitRange>
<lsb>0</lsb>
</field>
</fields>
</register>
<register>
<name>EV_PENDING</name>
<addressOffset>0x0010</addressOffset>
<resetValue>0x00</resetValue>
<fields>
<field>
<name>pending</name>
<msb>0</msb>
<bitRange>[0:0]</bitRange>
<lsb>0</lsb>
</field>
</fields>
</register>
<register>
<name>EV_ENABLE</name>
<addressOffset>0x0014</addressOffset>
<resetValue>0x00</resetValue>
<fields>
<field>
<name>enable</name>
<msb>0</msb>
<bitRange>[0:0]</bitRange>
<lsb>0</lsb>
</field>
</fields>
</register>
</registers>
<addressBlock>
<offset>0</offset>
<size>0x18</size>
<usage>registers</usage>
</addressBlock>
</peripheral>
<peripheral>
<name>MESSIBLE</name>
<baseAddress>0xF0007000</baseAddress>
<groupName>MESSIBLE</groupName>
<registers>
<register>
<name>IN</name>
<description><![CDATA[Write half of the FIFO to send data out the Messible. Writing to this register
advances the write pointer automatically.]]></description>
<addressOffset>0x0000</addressOffset>
<resetValue>0x00</resetValue>
<fields>
<field>
<name>in</name>
<msb>7</msb>
<bitRange>[7:0]</bitRange>
<lsb>0</lsb>
</field>
</fields>
</register>
<register>
<name>OUT</name>
<description><![CDATA[Read half of the FIFO to receive data on the Messible. Reading from this
register advances the read pointer automatically.]]></description>
<addressOffset>0x0004</addressOffset>
<resetValue>0x00</resetValue>
<fields>
<field>
<name>out</name>
<msb>7</msb>
<bitRange>[7:0]</bitRange>
<lsb>0</lsb>
</field>
</fields>
</register>
<register>
<name>STATUS</name>
<addressOffset>0x0008</addressOffset>
<resetValue>0x00</resetValue>
<fields>
<field>
<name>full</name>
<msb>0</msb>
<bitRange>[0:0]</bitRange>
<lsb>0</lsb>
<description><![CDATA[`0` if more data can fit into the IN FIFO.]]></description>
</field>
<field>
<name>have</name>
<msb>1</msb>
<bitRange>[1:1]</bitRange>
<lsb>1</lsb>
<description><![CDATA[`1` if data can be read from the OUT FIFO.]]></description>
</field>
</fields>
</register>
</registers>
<addressBlock>
<offset>0</offset>
<size>0xc</size>
<usage>registers</usage>
</addressBlock>
</peripheral>
<peripheral>
<name>POWER</name>
<baseAddress>0xF0008000</baseAddress>
<groupName>POWER</groupName>
<registers>
<register>
<name>POWER</name>
<addressOffset>0x0000</addressOffset>
<resetValue>0x0a</resetValue>
<fields>
<field>
<name>audio</name>
<msb>0</msb>
<bitRange>[0:0]</bitRange>
<lsb>0</lsb>
<description><![CDATA[Write `1` to power on the audio subsystem]]></description>
</field>
<field>
<name>self</name>
<msb>1</msb>
<bitRange>[1:1]</bitRange>
<lsb>1</lsb>
<description><![CDATA[Writing `1` forces self power-on (overrides the EC's ability to power me down)]]></description>
</field>
<field>
<name>ec_snoop</name>
<msb>2</msb>
<bitRange>[2:2]</bitRange>
<lsb>2</lsb>
<description><![CDATA[Writing `1` allows the insecure EC to snoop a couple keyboard pads for wakeup
key sequence recognition]]></description>
</field>
<field>
<name>state</name>
<msb>4</msb>
<bitRange>[4:3]</bitRange>
<lsb>3</lsb>
<description><![CDATA[Current SoC power state. 0x=off or not ready, 10=on and safe to shutdown, 11=on
and not safe to shut down, resets to 01 to allow extSRAM access immediately
during init]]></description>
</field>
<field>
<name>noisebias</name>
<msb>5</msb>
<bitRange>[5:5]</bitRange>
<lsb>5</lsb>
<description><![CDATA[Writing `1` enables the primary bias supply for the noise generator]]></description>
</field>
<field>
<name>noise</name>
<msb>7</msb>
<bitRange>[7:6]</bitRange>
<lsb>6</lsb>
<description><![CDATA[Controls which of two noise channels are active; all combos valid. noisebias
must be on first.]]></description>
</field>
</fields>
</register>
</registers>
<addressBlock>
<offset>0</offset>
<size>0x4</size>
<usage>registers</usage>
</addressBlock>
</peripheral>
<peripheral>
<name>REBOOT</name>
<baseAddress>0xF0003000</baseAddress>
<groupName>REBOOT</groupName>
<registers>
<register>
<name>CTRL</name>
<addressOffset>0x0000</addressOffset>
<resetValue>0x00</resetValue>
<fields>
<field>
<name>ctrl</name>
<msb>7</msb>
<bitRange>[7:0]</bitRange>
<lsb>0</lsb>
</field>
</fields>
</register>
<register>
<name>ADDR3</name>
<description><![CDATA[Bits 24-31 of `REBOOT_ADDR`.]]></description>
<addressOffset>0x0004</addressOffset>
<resetValue>0x20</resetValue>
<fields>
<field>
<name>addr</name>
<msb>7</msb>
<bitRange>[7:0]</bitRange>
<lsb>0</lsb>
</field>
</fields>
</register>
<register>
<name>ADDR2</name>
<description><![CDATA[Bits 16-23 of `REBOOT_ADDR`.]]></description>
<addressOffset>0x0008</addressOffset>
<resetValue>0x50</resetValue>
<fields>
<field>
<name>addr</name>
<msb>7</msb>
<bitRange>[7:0]</bitRange>
<lsb>0</lsb>
</field>
</fields>
</register>
<register>
<name>ADDR1</name>
<description><![CDATA[Bits 8-15 of `REBOOT_ADDR`.]]></description>
<addressOffset>0x000c</addressOffset>
<resetValue>0x00</resetValue>
<fields>
<field>
<name>addr</name>
<msb>7</msb>
<bitRange>[7:0]</bitRange>
<lsb>0</lsb>
</field>
</fields>
</register>
<register>
<name>ADDR0</name>
<description><![CDATA[Bits 0-7 of `REBOOT_ADDR`.]]></description>
<addressOffset>0x0010</addressOffset>
<resetValue>0x00</resetValue>
<fields>
<field>
<name>addr</name>
<msb>7</msb>
<bitRange>[7:0]</bitRange>
<lsb>0</lsb>
</field>
</fields>
</register>
</registers>
<addressBlock>
<offset>0</offset>
<size>0x14</size>
<usage>registers</usage>
</addressBlock>
</peripheral>
<peripheral>
<name>SPINOR</name>
<baseAddress>0xF0008800</baseAddress>
<groupName>SPINOR</groupName>
<registers>
<register>
<name>CFG1</name>
<addressOffset>0x0000</addressOffset>
<resetValue>0x00</resetValue>
<fields>
<field>
<name>cfg1</name>
<msb>7</msb>
<bitRange>[7:0]</bitRange>
<lsb>0</lsb>
</field>
</fields>
</register>
<register>
<name>CFG2</name>
<addressOffset>0x0004</addressOffset>
<resetValue>0x00</resetValue>
<fields>
<field>
<name>cfg2</name>
<msb>7</msb>
<bitRange>[7:0]</bitRange>
<lsb>0</lsb>
</field>
</fields>
</register>
<register>
<name>CFG3</name>
<addressOffset>0x0008</addressOffset>
<resetValue>0x00</resetValue>
<fields>
<field>
<name>cfg3</name>
<msb>7</msb>
<bitRange>[7:0]</bitRange>
<lsb>0</lsb>
</field>
</fields>
</register>
<register>
<name>CFG4</name>
<addressOffset>0x000c</addressOffset>
<resetValue>0x00</resetValue>
<fields>
<field>
<name>cfg4</name>
<msb>7</msb>
<bitRange>[7:0]</bitRange>
<lsb>0</lsb>
</field>
</fields>
</register>
<register>
<name>STAT1</name>
<addressOffset>0x0010</addressOffset>
<resetValue>0x00</resetValue>
<fields>
<field>
<name>stat1</name>
<msb>7</msb>
<bitRange>[7:0]</bitRange>
<lsb>0</lsb>
</field>
</fields>
</register>
<register>
<name>STAT2</name>
<addressOffset>0x0014</addressOffset>
<resetValue>0x00</resetValue>
<fields>
<field>
<name>stat2</name>
<msb>7</msb>
<bitRange>[7:0]</bitRange>
<lsb>0</lsb>
</field>
</fields>
</register>
<register>
<name>STAT3</name>
<addressOffset>0x0018</addressOffset>
<resetValue>0x00</resetValue>
<fields>
<field>
<name>stat3</name>
<msb>7</msb>
<bitRange>[7:0]</bitRange>
<lsb>0</lsb>
</field>
</fields>
</register>
<register>
<name>STAT4</name>
<addressOffset>0x001c</addressOffset>
<resetValue>0x00</resetValue>
<fields>
<field>
<name>stat4</name>
<msb>7</msb>
<bitRange>[7:0]</bitRange>
<lsb>0</lsb>
</field>
</fields>
</register>
</registers>
<addressBlock>
<offset>0</offset>
<size>0x20</size>
<usage>registers</usage>
</addressBlock>
</peripheral>
<peripheral>
<name>SRAM_EXT</name>
<baseAddress>0xF0004800</baseAddress>
<groupName>SRAM_EXT</groupName>
<registers>
<register>
<name>CONFIG_STATUS3</name>
<description><![CDATA[Bits 24-31 of `SRAM_EXT_CONFIG_STATUS`.]]></description>
<addressOffset>0x0000</addressOffset>
<resetValue>0x00</resetValue>
<fields>
<field>
<name>mode</name>
<msb>7</msb>
<bitRange>[7:0]</bitRange>
<lsb>0</lsb>
<description><![CDATA[The current configuration mode of the SRAM]]></description>
</field>
</fields>
</register>
<register>
<name>CONFIG_STATUS2</name>
<description><![CDATA[Bits 16-23 of `SRAM_EXT_CONFIG_STATUS`.]]></description>
<addressOffset>0x0004</addressOffset>
<resetValue>0x00</resetValue>
<fields>
<field>
<name>mode</name>
<msb>7</msb>
<bitRange>[7:0]</bitRange>
<lsb>0</lsb>
<description><![CDATA[The current configuration mode of the SRAM]]></description>
</field>
</fields>
</register>
<register>
<name>CONFIG_STATUS1</name>
<description><![CDATA[Bits 8-15 of `SRAM_EXT_CONFIG_STATUS`.]]></description>
<addressOffset>0x0008</addressOffset>
<resetValue>0x00</resetValue>
<fields>
<field>
<name>mode</name>
<msb>7</msb>
<bitRange>[7:0]</bitRange>
<lsb>0</lsb>
<description><![CDATA[The current configuration mode of the SRAM]]></description>
</field>
</fields>
</register>
<register>
<name>CONFIG_STATUS0</name>
<description><![CDATA[Bits 0-7 of `SRAM_EXT_CONFIG_STATUS`.]]></description>
<addressOffset>0x000c</addressOffset>
<resetValue>0x00</resetValue>
<fields>
<field>
<name>mode</name>
<msb>7</msb>
<bitRange>[7:0]</bitRange>
<lsb>0</lsb>
<description><![CDATA[The current configuration mode of the SRAM]]></description>
</field>
</fields>
</register>
<register>
<name>READ_CONFIG</name>
<addressOffset>0x0010</addressOffset>
<resetValue>0x00</resetValue>
<fields>
<field>
<name>trigger</name>
<msb>0</msb>
<bitRange>[0:0]</bitRange>
<lsb>0</lsb>
<description><![CDATA[Writing to this bit triggers the SRAM mode status read update]]></description>
</field>
</fields>
</register>
</registers>
<addressBlock>
<offset>0</offset>
<size>0x14</size>
<usage>registers</usage>
</addressBlock>
</peripheral>
<peripheral>
<name>TICKTIMER</name>
<baseAddress>0xF0007800</baseAddress>
<groupName>TICKTIMER</groupName>
<registers>
<register>
<name>CONTROL</name>
<addressOffset>0x0000</addressOffset>
<resetValue>0x00</resetValue>
<fields>
<field>
<name>reset</name>
<msb>0</msb>
<bitRange>[0:0]</bitRange>
<lsb>0</lsb>
<description><![CDATA[Write a `1` to this bit to reset the count to 0]]></description>
</field>
<field>
<name>pause</name>
<msb>1</msb>
<bitRange>[1:1]</bitRange>
<lsb>1</lsb>
<description><![CDATA[Write a `1` to this field to pause counting, 0 for free-run]]></description>
</field>
</fields>
</register>
<register>
<name>TIME5</name>
<description><![CDATA[Bits 40-47 of `TICKTIMER_TIME`. Elapsed time in systicks]]></description>
<addressOffset>0x0004</addressOffset>
<resetValue>0x00</resetValue>
<fields>
<field>
<name>time</name>
<msb>7</msb>
<bitRange>[7:0]</bitRange>
<lsb>0</lsb>
</field>
</fields>
</register>
<register>
<name>TIME4</name>
<description><![CDATA[Bits 32-39 of `TICKTIMER_TIME`.]]></description>
<addressOffset>0x0008</addressOffset>
<resetValue>0x00</resetValue>
<fields>
<field>
<name>time</name>
<msb>7</msb>
<bitRange>[7:0]</bitRange>
<lsb>0</lsb>
</field>
</fields>
</register>
<register>
<name>TIME3</name>
<description><![CDATA[Bits 24-31 of `TICKTIMER_TIME`.]]></description>
<addressOffset>0x000c</addressOffset>
<resetValue>0x00</resetValue>
<fields>
<field>
<name>time</name>
<msb>7</msb>
<bitRange>[7:0]</bitRange>
<lsb>0</lsb>
</field>
</fields>
</register>
<register>
<name>TIME2</name>
<description><![CDATA[Bits 16-23 of `TICKTIMER_TIME`.]]></description>
<addressOffset>0x0010</addressOffset>
<resetValue>0x00</resetValue>
<fields>
<field>
<name>time</name>
<msb>7</msb>
<bitRange>[7:0]</bitRange>
<lsb>0</lsb>
</field>
</fields>
</register>
<register>
<name>TIME1</name>
<description><![CDATA[Bits 8-15 of `TICKTIMER_TIME`.]]></description>
<addressOffset>0x0014</addressOffset>
<resetValue>0x00</resetValue>
<fields>
<field>
<name>time</name>
<msb>7</msb>
<bitRange>[7:0]</bitRange>
<lsb>0</lsb>
</field>
</fields>
</register>
<register>
<name>TIME0</name>
<description><![CDATA[Bits 0-7 of `TICKTIMER_TIME`.]]></description>
<addressOffset>0x0018</addressOffset>
<resetValue>0x00</resetValue>
<fields>
<field>
<name>time</name>
<msb>7</msb>
<bitRange>[7:0]</bitRange>
<lsb>0</lsb>
</field>
</fields>
</register>
</registers>
<addressBlock>
<offset>0</offset>
<size>0x1c</size>
<usage>registers</usage>
</addressBlock>
</peripheral>
<peripheral>
<name>TIMER0</name>
<baseAddress>0xF0002800</baseAddress>
<groupName>TIMER0</groupName>
<registers>
<register>
<name>LOAD3</name>
<description><![CDATA[Bits 24-31 of `TIMER0_LOAD`. Load value when Timer is (re-)enabled.In One-Shot
mode, the value written to this register specify the Timer's duration in clock
cycles.]]></description>
<addressOffset>0x0000</addressOffset>
<resetValue>0x00</resetValue>
<fields>
<field>
<name>load</name>
<msb>7</msb>
<bitRange>[7:0]</bitRange>
<lsb>0</lsb>
</field>
</fields>
</register>
<register>
<name>LOAD2</name>
<description><![CDATA[Bits 16-23 of `TIMER0_LOAD`.]]></description>
<addressOffset>0x0004</addressOffset>
<resetValue>0x00</resetValue>
<fields>
<field>
<name>load</name>
<msb>7</msb>
<bitRange>[7:0]</bitRange>
<lsb>0</lsb>
</field>
</fields>
</register>
<register>
<name>LOAD1</name>
<description><![CDATA[Bits 8-15 of `TIMER0_LOAD`.]]></description>
<addressOffset>0x0008</addressOffset>
<resetValue>0x00</resetValue>
<fields>
<field>
<name>load</name>
<msb>7</msb>
<bitRange>[7:0]</bitRange>
<lsb>0</lsb>
</field>
</fields>
</register>
<register>
<name>LOAD0</name>
<description><![CDATA[Bits 0-7 of `TIMER0_LOAD`.]]></description>
<addressOffset>0x000c</addressOffset>
<resetValue>0x00</resetValue>
<fields>
<field>
<name>load</name>
<msb>7</msb>
<bitRange>[7:0]</bitRange>
<lsb>0</lsb>
</field>
</fields>
</register>
<register>
<name>RELOAD3</name>
<description><![CDATA[Bits 24-31 of `TIMER0_RELOAD`. Reload value when Timer reaches 0.In Periodic
mode, the value written to this register specify the Timer's period in clock
cycles.]]></description>
<addressOffset>0x0010</addressOffset>
<resetValue>0x00</resetValue>
<fields>
<field>
<name>reload</name>
<msb>7</msb>
<bitRange>[7:0]</bitRange>
<lsb>0</lsb>
</field>
</fields>
</register>
<register>
<name>RELOAD2</name>
<description><![CDATA[Bits 16-23 of `TIMER0_RELOAD`.]]></description>
<addressOffset>0x0014</addressOffset>
<resetValue>0x00</resetValue>
<fields>
<field>
<name>reload</name>
<msb>7</msb>
<bitRange>[7:0]</bitRange>
<lsb>0</lsb>
</field>
</fields>
</register>
<register>
<name>RELOAD1</name>
<description><![CDATA[Bits 8-15 of `TIMER0_RELOAD`.]]></description>
<addressOffset>0x0018</addressOffset>
<resetValue>0x00</resetValue>
<fields>
<field>
<name>reload</name>
<msb>7</msb>
<bitRange>[7:0]</bitRange>
<lsb>0</lsb>
</field>
</fields>
</register>
<register>
<name>RELOAD0</name>
<description><![CDATA[Bits 0-7 of `TIMER0_RELOAD`.]]></description>
<addressOffset>0x001c</addressOffset>
<resetValue>0x00</resetValue>
<fields>
<field>
<name>reload</name>
<msb>7</msb>
<bitRange>[7:0]</bitRange>
<lsb>0</lsb>
</field>
</fields>
</register>
<register>
<name>EN</name>
<description><![CDATA[Enable of the Timer.Set if to 1 to enable/start the Timer and 0 to disable the
Timer]]></description>
<addressOffset>0x0020</addressOffset>
<resetValue>0x00</resetValue>
<fields>
<field>
<name>en</name>
<msb>0</msb>
<bitRange>[0:0]</bitRange>
<lsb>0</lsb>
</field>
</fields>
</register>
<register>
<name>UPDATE_VALUE</name>
<description><![CDATA[Update of the current countdown value.A write to this register latches the
current countdown value to `value` register.]]></description>
<addressOffset>0x0024</addressOffset>
<resetValue>0x00</resetValue>
<fields>
<field>
<name>update_value</name>
<msb>0</msb>
<bitRange>[0:0]</bitRange>
<lsb>0</lsb>
</field>
</fields>
</register>
<register>
<name>VALUE3</name>
<description><![CDATA[Bits 24-31 of `TIMER0_VALUE`. Latched countdown value]]></description>
<addressOffset>0x0028</addressOffset>
<resetValue>0x00</resetValue>
<fields>
<field>
<name>value</name>
<msb>7</msb>
<bitRange>[7:0]</bitRange>
<lsb>0</lsb>
</field>
</fields>
</register>
<register>
<name>VALUE2</name>
<description><![CDATA[Bits 16-23 of `TIMER0_VALUE`.]]></description>
<addressOffset>0x002c</addressOffset>
<resetValue>0x00</resetValue>
<fields>
<field>
<name>value</name>
<msb>7</msb>
<bitRange>[7:0]</bitRange>
<lsb>0</lsb>
</field>
</fields>
</register>
<register>
<name>VALUE1</name>
<description><![CDATA[Bits 8-15 of `TIMER0_VALUE`.]]></description>
<addressOffset>0x0030</addressOffset>
<resetValue>0x00</resetValue>
<fields>
<field>
<name>value</name>
<msb>7</msb>
<bitRange>[7:0]</bitRange>
<lsb>0</lsb>
</field>
</fields>
</register>
<register>
<name>VALUE0</name>
<description><![CDATA[Bits 0-7 of `TIMER0_VALUE`.]]></description>
<addressOffset>0x0034</addressOffset>
<resetValue>0x00</resetValue>
<fields>
<field>
<name>value</name>
<msb>7</msb>
<bitRange>[7:0]</bitRange>
<lsb>0</lsb>
</field>
</fields>
</register>
<register>
<name>EV_STATUS</name>
<addressOffset>0x0038</addressOffset>
<resetValue>0x00</resetValue>
<fields>
<field>
<name>status</name>
<msb>0</msb>
<bitRange>[0:0]</bitRange>
<lsb>0</lsb>
</field>
</fields>
</register>
<register>
<name>EV_PENDING</name>
<addressOffset>0x003c</addressOffset>
<resetValue>0x00</resetValue>
<fields>
<field>
<name>pending</name>
<msb>0</msb>
<bitRange>[0:0]</bitRange>
<lsb>0</lsb>
</field>
</fields>
</register>
<register>
<name>EV_ENABLE</name>
<addressOffset>0x0040</addressOffset>
<resetValue>0x00</resetValue>
<fields>
<field>
<name>enable</name>
<msb>0</msb>
<bitRange>[0:0]</bitRange>
<lsb>0</lsb>
</field>
</fields>
</register>
</registers>
<addressBlock>
<offset>0</offset>
<size>0x44</size>
<usage>registers</usage>
</addressBlock>
<interrupt>
<name>timer0</name>
<value>1</value>
</interrupt>
</peripheral>
<peripheral>
<name>UART</name>
<baseAddress>0xF0001800</baseAddress>
<groupName>UART</groupName>
<registers>
<register>
<name>RXTX</name>
<addressOffset>0x0000</addressOffset>
<resetValue>0x00</resetValue>
<fields>
<field>
<name>rxtx</name>
<msb>7</msb>
<bitRange>[7:0]</bitRange>
<lsb>0</lsb>
</field>
</fields>
</register>
<register>
<name>TXFULL</name>
<addressOffset>0x0004</addressOffset>
<resetValue>0x00</resetValue>
<fields>
<field>
<name>txfull</name>
<msb>0</msb>
<bitRange>[0:0]</bitRange>
<lsb>0</lsb>
</field>
</fields>
</register>
<register>
<name>RXEMPTY</name>
<addressOffset>0x0008</addressOffset>
<resetValue>0x00</resetValue>
<fields>
<field>
<name>rxempty</name>
<msb>0</msb>
<bitRange>[0:0]</bitRange>
<lsb>0</lsb>
</field>
</fields>
</register>
<register>
<name>EV_STATUS</name>
<addressOffset>0x000c</addressOffset>
<resetValue>0x00</resetValue>
<fields>
<field>
<name>status</name>
<msb>1</msb>
<bitRange>[1:0]</bitRange>
<lsb>0</lsb>
</field>
</fields>
</register>
<register>
<name>EV_PENDING</name>
<addressOffset>0x0010</addressOffset>
<resetValue>0x00</resetValue>
<fields>
<field>
<name>pending</name>
<msb>1</msb>
<bitRange>[1:0]</bitRange>
<lsb>0</lsb>
</field>
</fields>
</register>
<register>
<name>EV_ENABLE</name>
<addressOffset>0x0014</addressOffset>
<resetValue>0x00</resetValue>
<fields>
<field>
<name>enable</name>
<msb>1</msb>
<bitRange>[1:0]</bitRange>
<lsb>0</lsb>
</field>
</fields>
</register>
</registers>
<addressBlock>
<offset>0</offset>
<size>0x18</size>
<usage>registers</usage>
</addressBlock>
<interrupt>
<name>uart</name>
<value>0</value>
</interrupt>
</peripheral>
<peripheral>
<name>UART_PHY</name>
<baseAddress>0xF0001000</baseAddress>
<groupName>UART_PHY</groupName>
<registers>
<register>
<name>TUNING_WORD3</name>
<description><![CDATA[Bits 24-31 of `UART_PHY_TUNING_WORD`.]]></description>
<addressOffset>0x0000</addressOffset>
<resetValue>0x00</resetValue>
<fields>
<field>
<name>tuning_word</name>
<msb>7</msb>
<bitRange>[7:0]</bitRange>
<lsb>0</lsb>
</field>
</fields>
</register>
<register>
<name>TUNING_WORD2</name>
<description><![CDATA[Bits 16-23 of `UART_PHY_TUNING_WORD`.]]></description>
<addressOffset>0x0004</addressOffset>
<resetValue>0x4b</resetValue>
<fields>
<field>
<name>tuning_word</name>
<msb>7</msb>
<bitRange>[7:0]</bitRange>
<lsb>0</lsb>
</field>
</fields>
</register>
<register>
<name>TUNING_WORD1</name>
<description><![CDATA[Bits 8-15 of `UART_PHY_TUNING_WORD`.]]></description>
<addressOffset>0x0008</addressOffset>
<resetValue>0x7f</resetValue>
<fields>
<field>
<name>tuning_word</name>
<msb>7</msb>
<bitRange>[7:0]</bitRange>
<lsb>0</lsb>
</field>
</fields>
</register>
<register>
<name>TUNING_WORD0</name>
<description><![CDATA[Bits 0-7 of `UART_PHY_TUNING_WORD`.]]></description>
<addressOffset>0x000c</addressOffset>
<resetValue>0x5a</resetValue>
<fields>
<field>
<name>tuning_word</name>
<msb>7</msb>
<bitRange>[7:0]</bitRange>
<lsb>0</lsb>
</field>
</fields>
</register>
</registers>
<addressBlock>
<offset>0</offset>
<size>0x10</size>
<usage>registers</usage>
</addressBlock>
</peripheral>
<peripheral>
<name>IDENTIFIER_MEM</name>
<baseAddress>0xF0002000</baseAddress>
<groupName>IDENTIFIER_MEM</groupName>
<registers>
<register>
<name>IDENTIFIER_MEM</name>
<description><![CDATA[8 x 28-bit memory]]></description>
<addressOffset>0x0000</addressOffset>
<resetValue>0x00</resetValue>
<fields>
<field>
<name>identifier_mem</name>
<msb>7</msb>
<bitRange>[7:0]</bitRange>
<lsb>0</lsb>
</field>
</fields>
</register>
</registers>
<addressBlock>
<offset>0</offset>
<size>0x4</size>
<usage>registers</usage>
</addressBlock>
</peripheral>
</peripherals>
</device>