root/drivers/net/wireless/quantenna/qtnfmac/pcie/pearl_pcie_regs.h

/* [<][>][^][v][top][bottom][index][help] */

INCLUDED FROM


   1 /* SPDX-License-Identifier: GPL-2.0+ */
   2 /* Copyright (c) 2015 Quantenna Communications */
   3 
   4 #ifndef __PEARL_PCIE_H
   5 #define __PEARL_PCIE_H
   6 
   7 /* Pearl PCIe HDP registers */
   8 #define PCIE_HDP_CTRL(base)                     ((base) + 0x2c00)
   9 #define PCIE_HDP_AXI_CTRL(base)                 ((base) + 0x2c04)
  10 #define PCIE_HDP_HOST_WR_DESC0(base)            ((base) + 0x2c10)
  11 #define PCIE_HDP_HOST_WR_DESC0_H(base)          ((base) + 0x2c14)
  12 #define PCIE_HDP_HOST_WR_DESC1(base)            ((base) + 0x2c18)
  13 #define PCIE_HDP_HOST_WR_DESC1_H(base)          ((base) + 0x2c1c)
  14 #define PCIE_HDP_HOST_WR_DESC2(base)            ((base) + 0x2c20)
  15 #define PCIE_HDP_HOST_WR_DESC2_H(base)          ((base) + 0x2c24)
  16 #define PCIE_HDP_HOST_WR_DESC3(base)            ((base) + 0x2c28)
  17 #define PCIE_HDP_HOST_WR_DESC4_H(base)          ((base) + 0x2c2c)
  18 #define PCIE_HDP_RX_INT_CTRL(base)              ((base) + 0x2c30)
  19 #define PCIE_HDP_TX_INT_CTRL(base)              ((base) + 0x2c34)
  20 #define PCIE_HDP_INT_STATUS(base)               ((base) + 0x2c38)
  21 #define PCIE_HDP_INT_EN(base)                   ((base) + 0x2c3c)
  22 #define PCIE_HDP_RX_DESC0_PTR(base)             ((base) + 0x2c40)
  23 #define PCIE_HDP_RX_DESC0_NOE(base)             ((base) + 0x2c44)
  24 #define PCIE_HDP_RX_DESC1_PTR(base)             ((base) + 0x2c48)
  25 #define PCIE_HDP_RX_DESC1_NOE(base)             ((base) + 0x2c4c)
  26 #define PCIE_HDP_RX_DESC2_PTR(base)             ((base) + 0x2c50)
  27 #define PCIE_HDP_RX_DESC2_NOE(base)             ((base) + 0x2c54)
  28 #define PCIE_HDP_RX_DESC3_PTR(base)             ((base) + 0x2c58)
  29 #define PCIE_HDP_RX_DESC3_NOE(base)             ((base) + 0x2c5c)
  30 
  31 #define PCIE_HDP_TX0_BASE_ADDR(base)            ((base) + 0x2c60)
  32 #define PCIE_HDP_TX1_BASE_ADDR(base)            ((base) + 0x2c64)
  33 #define PCIE_HDP_TX0_Q_CTRL(base)               ((base) + 0x2c70)
  34 #define PCIE_HDP_TX1_Q_CTRL(base)               ((base) + 0x2c74)
  35 #define PCIE_HDP_CFG0(base)                     ((base) + 0x2c80)
  36 #define PCIE_HDP_CFG1(base)                     ((base) + 0x2c84)
  37 #define PCIE_HDP_CFG2(base)                     ((base) + 0x2c88)
  38 #define PCIE_HDP_CFG3(base)                     ((base) + 0x2c8c)
  39 #define PCIE_HDP_CFG4(base)                     ((base) + 0x2c90)
  40 #define PCIE_HDP_CFG5(base)                     ((base) + 0x2c94)
  41 #define PCIE_HDP_CFG6(base)                     ((base) + 0x2c98)
  42 #define PCIE_HDP_CFG7(base)                     ((base) + 0x2c9c)
  43 #define PCIE_HDP_CFG8(base)                     ((base) + 0x2ca0)
  44 #define PCIE_HDP_CFG9(base)                     ((base) + 0x2ca4)
  45 #define PCIE_HDP_CFG10(base)                    ((base) + 0x2ca8)
  46 #define PCIE_HDP_CFG11(base)                    ((base) + 0x2cac)
  47 #define PCIE_INT(base)                          ((base) + 0x2cb0)
  48 #define PCIE_INT_MASK(base)                     ((base) + 0x2cb4)
  49 #define PCIE_MSI_MASK(base)                     ((base) + 0x2cb8)
  50 #define PCIE_MSI_PNDG(base)                     ((base) + 0x2cbc)
  51 #define PCIE_PRI_CFG(base)                      ((base) + 0x2cc0)
  52 #define PCIE_PHY_CR(base)                       ((base) + 0x2cc4)
  53 #define PCIE_HDP_CTAG_CTRL(base)                ((base) + 0x2cf4)
  54 #define PCIE_HDP_HHBM_BUF_PTR(base)             ((base) + 0x2d00)
  55 #define PCIE_HDP_HHBM_BUF_PTR_H(base)           ((base) + 0x2d04)
  56 #define PCIE_HDP_HHBM_BUF_FIFO_NOE(base)        ((base) + 0x2d04)
  57 #define PCIE_HDP_RX0DMA_CNT(base)               ((base) + 0x2d10)
  58 #define PCIE_HDP_RX1DMA_CNT(base)               ((base) + 0x2d14)
  59 #define PCIE_HDP_RX2DMA_CNT(base)               ((base) + 0x2d18)
  60 #define PCIE_HDP_RX3DMA_CNT(base)               ((base) + 0x2d1c)
  61 #define PCIE_HDP_TX0DMA_CNT(base)               ((base) + 0x2d20)
  62 #define PCIE_HDP_TX1DMA_CNT(base)               ((base) + 0x2d24)
  63 #define PCIE_HDP_RXDMA_CTRL(base)               ((base) + 0x2d28)
  64 #define PCIE_HDP_TX_HOST_Q_SZ_CTRL(base)        ((base) + 0x2d2c)
  65 #define PCIE_HDP_TX_HOST_Q_BASE_L(base)         ((base) + 0x2d30)
  66 #define PCIE_HDP_TX_HOST_Q_BASE_H(base)         ((base) + 0x2d34)
  67 #define PCIE_HDP_TX_HOST_Q_WR_PTR(base)         ((base) + 0x2d38)
  68 #define PCIE_HDP_TX_HOST_Q_RD_PTR(base)         ((base) + 0x2d3c)
  69 #define PCIE_HDP_TX_HOST_Q_STS(base)            ((base) + 0x2d40)
  70 
  71 /* Pearl PCIe HBM pool registers */
  72 #define PCIE_HHBM_CSR_REG(base)                 ((base) + 0x2e00)
  73 #define PCIE_HHBM_Q_BASE_REG(base)              ((base) + 0x2e04)
  74 #define PCIE_HHBM_Q_LIMIT_REG(base)             ((base) + 0x2e08)
  75 #define PCIE_HHBM_Q_WR_REG(base)                ((base) + 0x2e0c)
  76 #define PCIE_HHBM_Q_RD_REG(base)                ((base) + 0x2e10)
  77 #define PCIE_HHBM_POOL_DATA_0_H(base)           ((base) + 0x2e90)
  78 #define PCIE_HHBM_CONFIG(base)                  ((base) + 0x2f9c)
  79 #define PCIE_HHBM_POOL_REQ_0(base)              ((base) + 0x2f10)
  80 #define PCIE_HHBM_POOL_DATA_0(base)             ((base) + 0x2f40)
  81 #define PCIE_HHBM_WATERMARK_MASKED_INT(base)    ((base) + 0x2f68)
  82 #define PCIE_HHBM_WATERMARK_INT(base)           ((base) + 0x2f6c)
  83 #define PCIE_HHBM_POOL_WATERMARK(base)          ((base) + 0x2f70)
  84 #define PCIE_HHBM_POOL_OVERFLOW_CNT(base)       ((base) + 0x2f90)
  85 #define PCIE_HHBM_POOL_UNDERFLOW_CNT(base)      ((base) + 0x2f94)
  86 #define HBM_INT_STATUS(base)                    ((base) + 0x2f9c)
  87 #define PCIE_HHBM_POOL_CNFIG(base)              ((base) + 0x2f9c)
  88 
  89 /* Pearl PCIe HBM bit field definitions */
  90 #define HHBM_CONFIG_SOFT_RESET                  (BIT(8))
  91 #define HHBM_WR_REQ                             (BIT(0))
  92 #define HHBM_RD_REQ                             (BIT(1))
  93 #define HHBM_DONE                               (BIT(31))
  94 #define HHBM_64BIT                              (BIT(10))
  95 
  96 /* PCIe HDP interrupt status definition */
  97 #define PCIE_HDP_INT_EP_RXDMA           (BIT(0))
  98 #define PCIE_HDP_INT_HBM_UF             (BIT(1))
  99 #define PCIE_HDP_INT_RX_LEN_ERR         (BIT(2))
 100 #define PCIE_HDP_INT_RX_HDR_LEN_ERR     (BIT(3))
 101 #define PCIE_HDP_INT_EP_TXDMA           (BIT(12))
 102 #define PCIE_HDP_INT_HHBM_UF            (BIT(13))
 103 #define PCIE_HDP_INT_EP_TXEMPTY         (BIT(15))
 104 #define PCIE_HDP_INT_IPC                (BIT(29))
 105 
 106 /* PCIe interrupt status definition */
 107 #define PCIE_INT_MSI                    (BIT(24))
 108 #define PCIE_INT_INTX                   (BIT(23))
 109 
 110 /* PCIe legacy INTx */
 111 #define PEARL_PCIE_CFG0_OFFSET          (0x6C)
 112 #define PEARL_ASSERT_INTX               (BIT(9))
 113 
 114 /* SYS CTL regs */
 115 #define QTN_PEARL_SYSCTL_LHOST_IRQ_OFFSET       (0x001C)
 116 
 117 #define QTN_PEARL_IPC_IRQ_WORD(irq)     (BIT(irq) | BIT(irq + 16))
 118 #define QTN_PEARL_LHOST_IPC_IRQ         (6)
 119 #define QTN_PEARL_LHOST_EP_RESET        (7)
 120 
 121 #endif /* __PEARL_PCIE_H */

/* [<][>][^][v][top][bottom][index][help] */