Address Offset | Register Name | Access | Details |
---|---|---|---|
0x0000 | NVMe TC Interrupt status register (INTR_STS) | RO | [0] Controller enabled. This bit is set when the CC.EN bit transitions from 0 to 1. Clear CTRLR_EN_STS to clear this bit. |
RO | [1] Controller reset. This bit is set when the CC.EN bit transitions from 1 to 0. Clear CTRLR_RST_STS to clear this bit. | ||
RO | [2] Controller normal shutdown. This bit is set when the CC.SHN field is set to 01. Clear CTRLR_NSHN_STS to clear this bit. | ||
RO | [3] Controller abrupt shutdown. This bit is set when the CC.SHN field is set to 10. Clear CTRLR_ASHN_STS to clear this bit. | ||
RW1C | [4] QDMA WRB/CMPT Ring ID is invalidated. Check the CMPT_Q_INVLD register for more details. | ||
RW1C | [5] Reserved | ||
RW1C | [6] QDMA C2H/H2C Ring ID is invalidated. Check the QDMA_Q_INVLD register for more details | ||
RW1C | [7] This bit is set when the host software attempts to write an invalid doorbell value to any SQ. Check the LOG_HOST_QUEUE register to know the Host SQ ID and Function ID. | ||
RW1C | [8] This bit is set when the host software attempts to write an invalid doorbell value to any CQ. Check the LOG_HOST_QUEUE register to know the Host CQ ID and Function ID. | ||
RW1C | [9] This bit is set when the host software attempts to write the doorbell of an SQ which was not created. Check the LOG_HOST_QUEUE register to know the Host SQ ID and Function ID. | ||
RW1C | [10] This bit is set when the host software attempts to write the doorbell of a CQ which was not created. Check the LOG_HOST_QUEUE register to know the Host CQ ID and Function ID. | ||
RW1C | [11] This bit is set when fused command first part is received from the host. Check the LOG_HOST_QUEUE register to know the Host SQ ID and Function ID. | ||
RO | [12] Function Level Reset (PCI reset). Clear CTRLR_FLR_STS to clear this bit. | ||
RW1C | [13] PCIe Reset/PCIe Link Down Event. | ||
RW1CO | [14] PCIe Link Up EventReserved. | ||
RW | [15] TC Fatal errors event. Check the TC_ERR_STS register for more information. | ||
RW1C | [16] New Admin command available in the software queue. Check SW_Q_ATTRIBUTE [95:80] to know the number of available admin commands. | ||
RW1C | [17] New work request completion available for the software to read. Check WQ_CMPL_ATTRIBUTE [15:0] to know the number of work queue request completions. | ||
RW1C | [18] Admin Command Write Failed Error. This error occurs when the AXI Bresp error is seen by TC when pushing Admin Command on AXI Interface. Check ERR_ADMIN_CMD register for details. | ||
RW1C | [19] Host SQ safe deletion interrupt. Check HOST_SQ_DELETE register for details. | ||
RW1C | [20] PCIe Phy Ready event. | ||
0x0004 | QDMA Reset Control Status register (QDMA_CS) | RW | [0] – qdma_usr_reset_n
|
RO | [8] - pcie_link_up | ||
RO | [9] – pcie_phy_ready | ||
RW1C | [16] – axi_resetn, core reset interrupt status register, non-maskable | ||
0x0008 | NVMe TC Interrupt enable register (INTR_EN) | RW | Bitwise interrupt enable bit for INTR_STS |
0x000C | NVMe TC Configuration (TC_CFG) | RW |
|
0x0010 | NVMe TC IP Control Register (TC_CTRL) | RW |
|
0x0014 | Function Level Interrupt Clear (FUNC_INTR_CLR) | RW |
|
0x0018 | Host SQ/CQ ID logging (LOG_HOST_QUEUE) | RO |
|
0x0020 | NVMe TC IP Status Register (TC_STS) | RO |
|
0x0024 | Work Queue Completion Attributes (WQ_CMPL_ATTRIBUTE) | RO |
|
0x0028 | Legacy Interrupt Enable (LEGACY_INTR_EN) | RW | [0] Enable Legacy Interrupt |
0x002C | Global Prefetch Bypass Tag (GLOBAL_PFCH_BYP_TAG) | RW |
|
0x0030 | Software Queue Attribute (SW_Q_ATTRIBUTE) | RW | [63:0] Software Queue Base Address |
RW | [79:64] Software Queue Size. Zero based value | ||
RO | [95:80] Number of available admin commands | ||
RO | [111: 96] Software Admin Queue Write/tail Pointer | ||
RW | [127: 112] Softwaare Admin Queue Read/head pointer | ||
0x0040 | QDMA_Q_INVLD | RO |
|
0x0044 | CMPT_Q_INVLD | RO |
|
0x0048 | ERR_ADMIN_CMD | RO |
|
0x004C | HOST_SQ_DELETE | RO |
|
0x0050 | DATA_BUF_BA_0 | RW | Local Data Buffer LSB 32-bit address |
0x0054 | DATA_BUF_BA_1 | RW | Local Data Buffer MSB 32-bit address |
0x0058 | PRP_BUF_BA_0 | RW | PRP Buffer LSB 32-bit Address |
0x005C | PRP_BUF_BA_1 | RW | PRP Buffer LSB 32-bit Address |
0x0060 | Debug Control (DBG_CTRL) | RW |
|
0x0064 | NVMe TC Fatal Errors (TC_ERR_STS) | RO |
|
0x0070 | Debug Window Counter (DBG_WIN_CNT) | RW |
|
0x0074 | Module Reset Enable (MRE) | RW1C | [0] NVMe TC Module Reset Enable. This bit is auto set on PCIe link down event |
0x0078 | Module Reset Done (MRD) | RO | [0] NVMe TC module reset done |
0x0100 | Each Controller Enable status register (CTRLR_EN_STS) | RW1C | [255:0] Each bit position when set represents that the corresponding controller is enabled. |
0x0120 | Each Controller Reset status register (CTRLR_RST_STS) | RW1C | [255:0] Each bit position when set represents that the corresponding controller is in reset. |
0x0140 | Each Controller Normal Shutdown status register (CTRLR_NSHN_STS) | RW1C | [255:0] Each bit position when set represents that the corresponding controller is in normal shutdown |
0x0160 | Each Controller Abrupt Shutdown status register (CTRLR_ASHN_STS) | RW1C | [255:0] Each bit position when set represents that the corresponding controller is in abrupt shutdown |
0x01A0 | Each Controller FLR Status (CTRLR_FLR_STS) | RO | [255:0] Each bit position when set represents that the corresponding controller received FLR. Program FUNC_INTR_C2R to clear this bit |
0x01D0 | TC_CFG_QUEUE_NUM | RW |
|
0x01D4 | TC_CFG_MDTS | RW | [7:0] Maximum data transfer size (MDTS). |
0x01D8 | TC_CFG_SW_WQE_CR | RW | [7:0] Software credits for work queue entries. Default/Maximum value is 32. |
0x01DC | TC_CFG_NUM_FUNC | RW | [7:0] Number of functions/controllers. Default/Maximum value is C_MAX_FUNC. |
0x01E0 | Reserved | RO | Reserved |
0x01E4 | TC_CFG_SGL_SUPPORT | RW | [0] SGL Support Note: SGL is not supported in this release.
|
0x01E8 | TC_CFG_NSZE_LO | RW | [31:0] Lower 32 bits of Namespace size. This is used in identify response of TC standalone scenario. |
0x01EC | TC_CFG_NSZE_UP | RW | [31:0]: Upper 32 bits of Namespace size. This is used in identify response of TC standalone scenario. |
0x0200 | DBG_SGL_PRP | RO | [127:0] PRP debug and status information |
0x0210 | DBG_CMD_FETCH | RO |
|
0x0214 | DBG_CMD_VAL | RO | Reserved |
0x0218 | DBG_PCIE_LINK_STS | RO |
|
0x021C | DBG_CMD_CNT | RO |
|
0x0220 | DBG_WQE_FIFO | RO |
|
0x0224 | DBG_WQE_H2C | RO |
|
0x0228 | DBG_WQE_C2H | RO |
|
0x022C | DBG_WQE_CMPT | RO | [3:0] cmpt_wqe_cs |
0x0230 | DBG_CMPT_IN_CNT | RO |
|
0x0234 | DBG_CMPT_OUT_CNT | RO |
|
0x0238 | DBG_CMPT_CMPL_CNT | RO |
|
0x023C | DBG_SW_DMA_CNT | RO |
|
0x0240 | DBG_HW_DMA_CNT | RO |
|
0x0244 | DBG_DMA_POP_CNT | RO |
|
0x0248 | DBG_DMA_PUSH_CNT | RO |
|
0x024C | DBG_DMA_RSP_CNT | RO |
|
0x0260 – 0x029C | DBG_TC_TOP | RO | [511:0] NVMe TC IP debug information. |
0x10000 + (0x40000*n) + (0x10*m) 1, 2 | Host SQ Attributes (HSQ_ATTRIBUTE) | RW |
|
RO |
|
||
0x18000 + (0x40000*n) +(0x10*m) 1, 2 | Host CQ Attributes (HCQ_ATTRIBUTE) | RW |
|
RO |
|
||
|