pearl_pcie_ipc.h (2100B)
1/* SPDX-License-Identifier: GPL-2.0+ */ 2/* Copyright (c) 2015-2016 Quantenna Communications */ 3 4#ifndef _QTN_FMAC_PCIE_IPC_H_ 5#define _QTN_FMAC_PCIE_IPC_H_ 6 7#include <linux/types.h> 8 9#include "shm_ipc_defs.h" 10 11/* bitmap for EP status and flags: updated by EP, read by RC */ 12#define QTN_EP_HAS_UBOOT BIT(0) 13#define QTN_EP_HAS_FIRMWARE BIT(1) 14#define QTN_EP_REQ_UBOOT BIT(2) 15#define QTN_EP_REQ_FIRMWARE BIT(3) 16#define QTN_EP_ERROR_UBOOT BIT(4) 17#define QTN_EP_ERROR_FIRMWARE BIT(5) 18 19#define QTN_EP_FW_LOADRDY BIT(8) 20#define QTN_EP_FW_SYNC BIT(9) 21#define QTN_EP_FW_RETRY BIT(10) 22#define QTN_EP_FW_QLINK_DONE BIT(15) 23#define QTN_EP_FW_DONE BIT(16) 24 25/* bitmap for RC status and flags: updated by RC, read by EP */ 26#define QTN_RC_PCIE_LINK BIT(0) 27#define QTN_RC_NET_LINK BIT(1) 28#define QTN_RC_FW_FLASHBOOT BIT(5) 29#define QTN_RC_FW_QLINK BIT(7) 30#define QTN_RC_FW_LOADRDY BIT(8) 31#define QTN_RC_FW_SYNC BIT(9) 32 33#define PCIE_HDP_INT_RX_BITS (0 \ 34 | PCIE_HDP_INT_EP_TXDMA \ 35 | PCIE_HDP_INT_EP_TXEMPTY \ 36 | PCIE_HDP_INT_HHBM_UF \ 37 ) 38 39#define PCIE_HDP_INT_TX_BITS (0 \ 40 | PCIE_HDP_INT_EP_RXDMA \ 41 ) 42 43#ifdef CONFIG_ARCH_DMA_ADDR_T_64BIT 44#define QTN_HOST_HI32(a) ((u32)(((u64)a) >> 32)) 45#define QTN_HOST_LO32(a) ((u32)(((u64)a) & 0xffffffffUL)) 46#define QTN_HOST_ADDR(h, l) ((((u64)h) << 32) | ((u64)l)) 47#else 48#define QTN_HOST_HI32(a) 0 49#define QTN_HOST_LO32(a) ((u32)(((u32)a) & 0xffffffffUL)) 50#define QTN_HOST_ADDR(h, l) ((u32)l) 51#endif 52 53#define QTN_PCIE_BDA_VERSION 0x1002 54 55#define PCIE_BDA_NAMELEN 32 56#define PCIE_HHBM_MAX_SIZE 2048 57 58#define QTN_PCIE_BOARDFLG "PCIEQTN" 59#define QTN_PCIE_FW_DLMASK 0xF 60#define QTN_PCIE_FW_BUFSZ 2048 61 62#define QTN_ENET_ADDR_LENGTH 6 63 64#define QTN_TXDONE_MASK ((u32)0x80000000) 65#define QTN_GET_LEN(x) ((x) & 0xFFFF) 66 67#define QTN_PCIE_TX_DESC_LEN_MASK 0xFFFF 68#define QTN_PCIE_TX_DESC_LEN_SHIFT 0 69#define QTN_PCIE_TX_DESC_PORT_MASK 0xF 70#define QTN_PCIE_TX_DESC_PORT_SHIFT 16 71#define QTN_PCIE_TX_DESC_TQE_BIT BIT(24) 72 73#define QTN_EP_LHOST_TQE_PORT 4 74 75enum qtnf_fw_loadtype { 76 QTN_FW_DBEGIN, 77 QTN_FW_DSUB, 78 QTN_FW_DEND, 79 QTN_FW_CTRL 80}; 81 82#endif /* _QTN_FMAC_PCIE_IPC_H_ */