1
2
3
4 #ifndef __PEARL_PCIE_H
5 #define __PEARL_PCIE_H
6
7
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
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
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
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
107 #define PCIE_INT_MSI (BIT(24))
108 #define PCIE_INT_INTX (BIT(23))
109
110
111 #define PEARL_PCIE_CFG0_OFFSET (0x6C)
112 #define PEARL_ASSERT_INTX (BIT(9))
113
114
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