Cache
CACHE_REGS
CTRL0
- Name: CTRL0 Register
- Description: CTRL0 Register
- Base Address: 0x4000D000
- Offset: 0x0
- Reset Value: 0x00000013
| Bits | Field Name | RW | Reset | Description |
|---|---|---|---|---|
| 31:12 | RSVD | R | 0x0 | Reserved bits |
| 11 | DIRECT_MAP_EN | RW | 0x0 |
Enable direct map. Value:
|
| 10 | CLK_FORCE_EN_3 | RW | 0x0 |
Cache_FSM and cache memory clock gating Value:
|
| 9 | CLK_FORCE_EN_2 | RW | 0x0 |
APB clock gating control Value:
|
| 8 | CLK_FORCE_EN_1 | RW | 0x0 |
Cache CLK_96 gating control Value:
|
| 7 | CLK_FORCE_EN_0 | RW | 0x0 |
XQSPI and cache HCLK gating control Value:
|
| 6 | BUF_DIS | RW | 0x0 |
Disable cache buffer preloading. Value:
|
| 5 | DIS_SEQ | RW | 0x0 |
Disable sequential cache access. Value:
|
| 4 | HITMISS | RW | 0x1 |
Clear hit/miss counters. Value:
|
| 3 | FIFO | RW | 0x0 |
Clear LFU FIFO. Value:
|
| 2 | RSVD | R | 0x0 | Reserved bits |
| 1 | FLUSH | RW | 0x1 |
Enable tag memory flushing. Out of resetting tag memory will get flushed unless tag memory retention is enabled (tag_ret signal lives in CPU register space). Value:
|
| 0 | DIS | RW | 0x1 |
Disable cache. Value:
|
HIT_COUNT
- Name: HIT_COUNT Register
- Description: HIT_COUNT Register
- Base Address: 0x4000D000
- Offset: 0x8
- Reset Value: 0x00000000
| Bits | Field Name | RW | Reset | Description |
|---|---|---|---|---|
31:0 |
HITCOUNT |
R |
0x0 |
Read cache hit count (if bit[4] of CTRL0 is 0). |
MISS_COUNT
- Name: MISS_COUNT Register
- Description: MISS_COUNT Register
- Base Address: 0x4000D000
- Offset: 0xC
- Reset Value: 0x00000000
| Bits | Field Name | RW | Reset | Description |
|---|---|---|---|---|
31:0 |
MISSCOUNT |
R |
0x0 |
Read cache miss count (if bit[4] of CTRL0 is 0). |
STAT
- Name: STAT Register
- Description: STAT Register
- Base Address: 0x4000D000
- Offset: 0x10
- Reset Value: 0x00000000
| Bits | Field Name | RW | Reset | Description |
|---|---|---|---|---|
31:1 |
RSVD |
R |
0x0 |
Reserved bits |
0 |
STAT |
R |
0x0 |
Value:
|
QSPI_REGS
TX_DATA
- Name: TX_DATA Register
- Description: TX_DATA Register
- Base Address: 0x4000D400
- Offset: 0x0
- Reset Value: 0x00000000
| Bits | Field Name | RW | Reset | Description |
|---|---|---|---|---|
31:0 |
TX |
W |
0x0 |
Serial transmit data register No packing of transmit data is attempted. That is, the number of bits transmitted per FIFO element is determined by the “bitsize” value in the Control Register (e.g. bitsize = 010 means only 12 bits are used). In addition, the “msb1st” value in the Control Register determines whether the least-significant bits or the most-significant bits of the FIFO element are used. |
RX_DATA
- Name: RX_DATA Register
- Description: RX_DATA Register
- Base Address: 0x4000D400
- Offset: 0x4
- Reset Value: 0x00000000
| Bits | Field Name | RW | Reset | Description |
|---|---|---|---|---|
31:0 |
RX |
R |
0x0 |
Serial receive data register No packing of receive data is attempted. That is, the number of bits stored per FIFO element is determined by the “bitsize” value in the Control Register (e.g. bitsize = 011 means only 16 bits are used). |
CTRL
- Name: CTRL Register
- Description: CTRL Register
- Base Address: 0x4000D400
- Offset: 0xC
- Reset Value: 0x00000021
| Bits | Field Name | RW | Reset | Description |
|---|---|---|---|---|
31:16 |
RSVD |
R |
0x0 |
Reserved bits |
15:14 |
TXWMARK |
RW |
0x0 |
Value:
|
13:12 |
RXWMARK |
RW |
0x0 |
Value:
|
11 |
MWAITEN |
RW |
0x0 |
Value:
|
10 |
DMA |
RW |
0x0 |
Not used Value:
|
9:6 |
RSVD |
R |
0x0 |
Reserved bits |
5 |
MASTER |
R |
0x1 |
qspi_master flag |
4 |
CPOL |
RW |
0x0 |
Value:
|
3 |
CPHA |
RW |
0x0 |
Value:
|
2 |
MSB1ST |
RW |
0x0 |
MSB/LSB
|
1 |
RSVD |
R |
0x0 |
Reserved bits |
0 |
CONTXFER |
RW |
0x1 |
Continuous Transfer bit. This is relevant for Master operation only. Note that this setting also affects the timing of the master output enable signal, sdataOutEnMN. Value:
|
AUX_CTRL
- Name: AUX_CTRL Register
- Description: AUX_CTRL Register
- Base Address: 0x4000D400
- Offset: 0x10
- Reset Value: 0x00000070
| Bits | Field Name | RW | Reset | Description |
|---|---|---|---|---|
31:8 |
RSVD |
R |
0x0 |
Reserved bits |
7 |
CONTXFERX |
RW |
0x0 |
Continuous Transfer Extend Bit. This is relevant for Master operation only. Further, this bit has no effect if the contXfer bit is 0. This register bit is synchronized to the SCLK domain for use there. Note that this setting also affects the timing of the master output enable signal, sdataOutEnMN. Value:
|
6:4 |
BITSIZE |
RW |
0x7 |
Value:
|
3 |
INHIBITDIN |
RW |
0x0 |
Set to 1 to inhibit the SPI serializers from writing to the Read Data FIFO. |
2 |
INHIBITDOUT |
RW |
0x0 |
Set to 1 to inhibit the SPI serializers from reading the Transmit FIFO. Note that this is intended to be used as a Slave mode configuration. In many cases, a Slave simply receives data from a Master; in these cases, setting this bit will allow the Slave to receive data without causing a TX FIFO underflow condition. |
1:0 |
QMODE |
RW |
0x0 |
Value:
|
STAT
- Name: STAT Register
- Description: STAT Register
- Base Address: 0x4000D400
- Offset: 0x14
- Reset Value: 0x0000002C
| Bits | Field Name | RW | Reset | Description |
|---|---|---|---|---|
31:8 |
RSVD |
R |
0x0 |
Reserved bits |
7 |
RXFULL |
R |
0x0 |
Value:
|
6 |
RXWMARK |
R |
0x0 |
Value:
|
5 |
RXEMPTY |
R |
0x1 |
Value:
|
4 |
TXFULL |
R |
0x0 |
Value:
|
3 |
TXWMARK |
R |
0x1 |
Value:
|
2 |
TXEMPTY |
R |
0x1 |
Value:
|
1 |
RSVD |
R |
0x0 |
Reserved bits |
0 |
XFERIP |
R |
0x0 |
Transfer is in progress (ssOut/ssIn is active). Value:
|
SLAVE_SEL
- Name: SLAVE_SEL Register
- Description: SLAVE_SEL Register
- Base Address: 0x4000D400
- Offset: 0x18
- Reset Value: 0x00000000
| Bits | Field Name | RW | Reset | Description |
|---|---|---|---|---|
31:4 |
RSVD |
R |
0x0 |
Reserved bits |
3 |
OUT3 |
RW |
0x0 |
Value:
Note: Only bit0 is used. |
2 |
OUT2 |
RW |
0x0 |
Value:
Note: Only bit0 is used. |
1 |
OUT1 |
RW |
0x0 |
Value:
Note: Only bit0 is used. |
0 |
OUT0 |
RW |
0x0 |
Value:
Note: Only bit0 is used. |
SLAVE_SEL_POL
- Name: SLAVE_SEL_POL Register
- Description: SLAVE_SEL_POL Register
- Base Address: 0x4000D400
- Offset: 0x1C
- Reset Value: 0x00000000
| Bits | Field Name | RW | Reset | Description |
|---|---|---|---|---|
31:4 |
RSVD |
R |
0x0 |
Reserved bits |
3 |
POL3 |
RW |
0x0 |
Value:
Note: Only bit0 is used. |
2 |
POL2 |
RW |
0x0 |
Value:
Note: Only bit0 is used. |
1 |
POL1 |
RW |
0x0 |
Value:
Note: Only bit0 is used. |
0 |
POL0 |
RW |
0x0 |
Value:
Note: Only bit0 is used. |
INTEN
- Name: INTEN Register
- Description: INTEN Register
- Base Address: 0x4000D400
- Offset: 0x20
- Reset Value: 0x00000000
| Bits | Field Name | RW | Reset | Description |
|---|---|---|---|---|
31:7 |
RSVD |
R |
0x0 |
Reserved bits |
6:0 |
INT_EN |
RW |
0x0 |
[0] TX FIFO empty interrupt [1] TX FIFO watermark interrupt [2] RX FIFO watermark interrupt [3] RX FIFO full interrupt [4] ro_xferip from high to low [5] no use [6] no use Value:
|
INTSTAT
- Name: INTSTAT Register
- Description: INTSTAT Register
- Base Address: 0x4000D400
- Offset: 0x24
- Reset Value: 0x00000000
| Bits | Field Name | RW | Reset | Description |
|---|---|---|---|---|
31:5 |
RSVD |
R |
0x0 |
Reserved bits |
4:0 |
INT_STAT |
R |
0x0 |
[0] TX FIFO empty flag interrupt [1] TX FIFO watermark interrupt [2] RX FIFO watermark interrupt [3] RX FIFO full interrupt [4] CS done interrupt Value:
|
INTCLR
- Name: INTCLR Register
- Description: INTCLR Register
- Base Address: 0x4000D400
- Offset: 0x28
- Reset Value: 0x00000000
| Bits | Field Name | RW | Reset | Description |
|---|---|---|---|---|
31:5 |
RSVD |
R |
0x0 |
Reserved bits |
4:0 |
INT_CLR |
W |
0x0 |
[0] Clear the TX FIFO empty flag interrupt. [1] Clear the TX FIFO watermark interrupt. [2] Clear the RX FIFO watermark interrupt. [3] Clear the RX FIFO full interrupt. [4] Clear the CS done interrupt. Value:
|
TX_FIFO_LVL
- Name: TX_FIFO_LVL Register
- Description: TX_FIFO_LVL Register
- Base Address: 0x4000D400
- Offset: 0x2C
- Reset Value: 0x00000000
| Bits | Field Name | RW | Reset | Description |
|---|---|---|---|---|
31:5 |
RSVD |
R |
0x0 |
Reserved bits |
4:0 |
TXFIFOLVL |
R |
0x0 |
Read the transmit FIFO current level (0–16). |
RX_FIFO_LVL
- Name: RX_FIFO_LVL Register
- Description: RX_FIFO_LVL Register
- Base Address: 0x4000D400
- Offset: 0x30
- Reset Value: 0x00000000
| Bits | Field Name | RW | Reset | Description |
|---|---|---|---|---|
31:5 |
RSVD |
R |
0x0 |
Reserved bits |
4:0 |
RXFIFOLVL |
R |
0x0 |
Read the transmit FIFO current level (0–16). |
MSTR_IT_DELAY
- Name: MSTR_IT_DELAY Register
- Description: MSTR_IT_DELAY Register
- Base Address: 0x4000D400
- Offset: 0x38
- Reset Value: 0x00000000
| Bits | Field Name | RW | Reset | Description |
|---|---|---|---|---|
31:8 |
RSVD |
R |
0x0 |
Reserved bits |
7:0 |
MWAIT |
RW |
0x0 |
If master (Control Register) is 1, this register sets the inter-transfer delay for the master serializer. The delay is (mwait + 1) SCLK cycles. |
SPIEN
- Name: SPIEN Register
- Description: SPIEN Register
- Base Address: 0x4000D400
- Offset: 0x3C
- Reset Value: 0x00000000
| Bits | Field Name | RW | Reset | Description |
|---|---|---|---|---|
31:1 |
RSVD |
R |
0x0 |
Reserved bits |
0 |
EN |
RW |
0x0 |
Enable SPI. Value:
|
RX_DATA0_31
- Name: RX_DATA0_31 Register
- Description: RX_DATA0_31 Register
- Base Address: 0x4000D400
- Offset: 0x48
- Reset Value: 0x00000000
| Bits | Field Name | RW | Reset | Description |
|---|---|---|---|---|
31:0 |
RX_DATA0 |
R |
0x0 |
32-bit LSB word in RX 128-bit read mode, rx_data[31:0] |
RX_DATA32_63
- Name: RX_DATA32_63 Register
- Description: RX_DATA32_63 Register
- Base Address: 0x4000D400
- Offset: 0x4C
- Reset Value: 0x00000000
| Bits | Field Name | RW | Reset | Description |
|---|---|---|---|---|
31:0 |
RX_DATA1 |
R |
0x0 |
32-bit 2nd LSB word in RX 128-bit read mode, rx_data[63:32] |
RX_DATA64_95
- Name: RX_DATA64_95 Register
- Description: RX_DATA64_95 Register
- Base Address: 0x4000D400
- Offset: 0x50
- Reset Value: 0x00000000
| Bits | Field Name | RW | Reset | Description |
|---|---|---|---|---|
31:0 |
RX_DATA2 |
R |
0x0 |
32-bit 3rd LSB word in RX 128-bit read mode, rx_data[95:64] |
RX_DATA96_127
- Name: RX_DATA96_127 Register
- Description: RX_DATA96_127 Register
- Base Address: 0x4000D400
- Offset: 0x54
- Reset Value: 0x00000000
| Bits | Field Name | RW | Reset | Description |
|---|---|---|---|---|
31:0 |
RX_DATA3 |
R |
0x0 |
32-bit 4th LSB word in RX 128-bit read mode, rx_data[127:96] |
FLASH_WRITE
- Name: FLASH_WRITE Register
- Description: FLASH_WRITE Register
- Base Address: 0x4000D400
- Offset: 0x5C
- Reset Value: 0x00000000
| Bits | Field Name | RW | Reset | Description |
|---|---|---|---|---|
31:1 |
RSVD |
R |
0x0 |
Reserved bits |
0 |
FLASH_WRITE |
RW |
0x0 |
Value:
|
CS_IDLE_UNVLD_EN
- Name: CS_IDLE_UNVLD_EN Register
- Description: CS_IDLE_UNVLD_EN Register
- Base Address: 0x4000D400
- Offset: 0x78
- Reset Value: 0x00000001
| Bits | Field Name | RW | Reset | Description |
|---|---|---|---|---|
31:3 |
RSVD |
R |
0x0 |
Reserved bits |
2 |
KEY_PULSE_DIS |
RW |
0x0 |
When CPU reads Flash alias address and Flash address, access to Flash alias address will flush XQSPI FIFO, thus resulting in low performance. Value:
|
1 |
1ST_PRETETCH_DIS |
RW |
0x0 |
When XIP_EN_REQ is set, XQSPI will prefetch 256 bytes of data from Flash. Clear this bit to disable this function. Value:
|
0 |
CS_IDLE_UNVLD_EN |
RW |
0x1 |
Value:
|
XIP_REGS
CTRL0
- Name: CTRL0 Register
- Description: CTRL0 Register
- Base Address: 0x4000DC00
- Offset: 0x0
- Reset Value: 0x00000003
| Bits | Field Name | RW | Reset | Description |
|---|---|---|---|---|
31:8 |
RSVD |
R |
0x0 |
Reserved bits |
7:0 |
CMD |
RW |
0x3 |
XIP configuration read command Value:
|
CTRL1
- Name: CTRL1 Register
- Description: CTRL1 Register
- Base Address: 0x4000DC00
- Offset: 0x4
- Reset Value: 0x00000108
| Bits | Field Name | RW | Reset | Description |
|---|---|---|---|---|
31:9 |
RSVD |
R |
0x0 |
Reserved bits |
8 |
LE32 |
RW |
0x1 |
XIP configuration 128-bit little endian arrangement of read data Value:
|
7 |
ADDR4 |
RW |
0x0 |
XIP configuration 4-byte address mode Value:
|
6 |
CPOL |
RW |
0x0 |
XIP configuration CPOL mode Value:
|
5 |
CPHA |
RW |
0x0 |
XIP configuration CPHA mode Value:
|
4:1 |
SS |
RW |
0x4 |
XIP configuration slave select Value:
|
0 |
HPEN |
RW |
0x0 |
XIP configuration high performance mode Value:
|
CTRL2
- Name: CTRL2 Register
- Description: CTRL2 Register
- Base Address: 0x4000DC00
- Offset: 0x8
- Reset Value: 0x000000A3
| Bits | Field Name | RW | Reset | Description |
|---|---|---|---|---|
31:14 |
RSVD |
R |
0x0 |
Reserved bits |
13:12 |
ENDDUMMY |
RW |
0x0 |
Configure the number of dummy cycles necessary to terminate high performance mode. This is used by the core when exiting XIP mode after performing high-performance transfers to ensure that FLASH device is not still in HP mode. For Quad mode, this value is multiplied by 2 to get the actual number of dummy cycles. |
11:8 |
DUMMYCYCLES |
RW |
0x0 |
Used to configure the number of dummy cycles used by the core for Fast Read, Fast Read Dual Output, and Fast Read Quad Output. Fast Read Dual I/O: 4 x value + 4 Fast Read Quad I/O: 2 x value + 2 Fast Read Quad Output: 8 x value |
7:0 |
HPMODE |
RW |
0xA3 |
XIP mode command byte. This byte is transferred from core to QSPI Flash memory. It is the value specified by different QSPI Flash memory vendors to enter into its status register to activate HP mode in dual I/O and Quad I/O accesses. |
CTRL3
- Name: CTRL3 Register
- Description: CTRL3 Register
- Base Address: 0x4000DC00
- Offset: 0xC
- Reset Value: 0x00000000
| Bits | Field Name | RW | Reset | Description |
|---|---|---|---|---|
31:1 |
RSVD |
R |
0x0 |
Reserved bits |
0 |
XIP_EN_REQ |
RW |
0x0 |
XIP enable request Value:
When it is set to 1’b1, do not access QSPI address space. Wait until XIP_EN_OUT is 1’b1. When it is set to 1’b0, do not access QSPI address space. Wait until XIP_EN_OUT is 1’b0. |
STAT
- Name: STAT Register
- Description: STAT Register
- Base Address: 0x4000DC00
- Offset: 0x10
- Reset Value: 0x00000000
| Bits | Field Name | RW | Reset | Description |
|---|---|---|---|---|
31:1 |
RSVD |
R |
0x0 |
Reserved bits |
0 |
XIP_EN_OUT |
R |
0x0 |
XIP enable status Value:
|
INTEN
- Name: INTEN Register
- Description: INTEN Register
- Base Address: 0x4000DC00
- Offset: 0x14
- Reset Value: 0x00000000
| Bits | Field Name | RW | Reset | Description |
|---|---|---|---|---|
31:1 |
RSVD |
R |
0x0 |
Reserved bits |
0 |
XIP_INT_EN |
R |
0x0 |
Enable interrupt. Value:
|
INTSTAT
- Name: INTSTAT Register
- Description: INTSTAT Register
- Base Address: 0x4000DC00
- Offset: 0x18
- Reset Value: 0x00000000
| Bits | Field Name | RW | Reset | Description |
|---|---|---|---|---|
31:1 |
RSVD |
R |
0x0 |
Reserved bits |
0 |
XIP_INT_STAT |
R |
0x0 |
Interrupt status Value:
|
INTREQ
- Name: INTREQ Register
- Description: INTREQ Register
- Base Address: 0x4000DC00
- Offset: 0x1C
- Reset Value: 0x00000000
| Bits | Field Name | RW | Reset | Description |
|---|---|---|---|---|
31:1 |
RSVD |
R |
0x0 |
Reserved bits |
0 |
XIP_INT_REQ |
R |
0x0 |
Output interrupt. Value:
|
INTSET
- Name: INTSET Register
- Description: INTSET Register
- Base Address: 0x4000DC00
- Offset: 0x20
- Reset Value: 0x00000000
| Bits | Field Name | RW | Reset | Description |
|---|---|---|---|---|
31:1 |
RSVD |
R |
0x0 |
Reserved bits |
0 |
XIP_INT_SET |
W |
0x0 |
Interrupt enable set Value:
|
INTCLR
- Name: INTCLR Register
- Description: INTCLR Register
- Base Address: 0x4000DC00
- Offset: 0x24
- Reset Value: 0x00000000
| Bits | Field Name | RW | Reset | Description |
|---|---|---|---|---|
31:1 |
RSVD |
R |
0x0 |
Reserved bits |
0 |
XIP_INT_CLR |
W |
0x0 |
Interrupt enable clear Value:
|
SOFT_RST
- Name: SOFT_RST Register
- Description: SOFT_RST Register
- Base Address: 0x4000DC00
- Offset: 0x28
- Reset Value: 0x00000001
| Bits | Field Name | RW | Reset | Description |
|---|---|---|---|---|
31:1 |
RSVD |
R |
0x0 |
Reserved bits |
0 |
XIP_SOFT_RST |
RW |
0x0 |
Soft reset IP by writing 1’b0, and then internal logic generates active low reset for one HCLK cycle. |