Back to home page

OSCL-LXR

 
 

    


0001 /* SPDX-License-Identifier: GPL-2.0+ */
0002 /* Copyright (c) 2018 Quantenna Communications */
0003 
0004 #ifndef __TOPAZ_PCIE_H
0005 #define __TOPAZ_PCIE_H
0006 
0007 /* Topaz PCIe DMA registers */
0008 #define PCIE_DMA_WR_INTR_STATUS(base)       ((base) + 0x9bc)
0009 #define PCIE_DMA_WR_INTR_MASK(base)     ((base) + 0x9c4)
0010 #define PCIE_DMA_WR_INTR_CLR(base)      ((base) + 0x9c8)
0011 #define PCIE_DMA_WR_ERR_STATUS(base)        ((base) + 0x9cc)
0012 #define PCIE_DMA_WR_DONE_IMWR_ADDR_LOW(base)    ((base) + 0x9D0)
0013 #define PCIE_DMA_WR_DONE_IMWR_ADDR_HIGH(base)   ((base) + 0x9d4)
0014 
0015 #define PCIE_DMA_RD_INTR_STATUS(base)       ((base) + 0x310)
0016 #define PCIE_DMA_RD_INTR_MASK(base)     ((base) + 0x319)
0017 #define PCIE_DMA_RD_INTR_CLR(base)      ((base) + 0x31c)
0018 #define PCIE_DMA_RD_ERR_STATUS_LOW(base)    ((base) + 0x324)
0019 #define PCIE_DMA_RD_ERR_STATUS_HIGH(base)   ((base) + 0x328)
0020 #define PCIE_DMA_RD_DONE_IMWR_ADDR_LOW(base)    ((base) + 0x33c)
0021 #define PCIE_DMA_RD_DONE_IMWR_ADDR_HIGH(base)   ((base) + 0x340)
0022 
0023 /* Topaz LHost IPC4 interrupt */
0024 #define TOPAZ_LH_IPC4_INT(base)         ((base) + 0x13C)
0025 #define TOPAZ_LH_IPC4_INT_MASK(base)        ((base) + 0x140)
0026 
0027 #define TOPAZ_RC_TX_DONE_IRQ            (0)
0028 #define TOPAZ_RC_RST_EP_IRQ         (1)
0029 #define TOPAZ_RC_TX_STOP_IRQ            (2)
0030 #define TOPAZ_RC_RX_DONE_IRQ            (3)
0031 #define TOPAZ_RC_PM_EP_IRQ          (4)
0032 
0033 /* Topaz LHost M2L interrupt */
0034 #define TOPAZ_CTL_M2L_INT(base)         ((base) + 0x2C)
0035 #define TOPAZ_CTL_M2L_INT_MASK(base)        ((base) + 0x30)
0036 
0037 #define TOPAZ_RC_CTRL_IRQ           (6)
0038 
0039 #define TOPAZ_IPC_IRQ_WORD(irq)         (BIT(irq) | BIT(irq + 16))
0040 
0041 /* PCIe legacy INTx */
0042 #define TOPAZ_PCIE_CFG0_OFFSET  (0x6C)
0043 #define TOPAZ_ASSERT_INTX   BIT(9)
0044 
0045 #endif /* __TOPAZ_PCIE_H */