cachepc-linux

Fork of AMDESE/linux with modifications for CachePC side-channel attack
git clone https://git.sinitax.com/sinitax/cachepc-linux
Log | Files | Refs | README | LICENSE | sfeed.txt

pearl_pcie_regs.h (5346B)


      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 */