83 lines · c
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_64BIT44#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#else48#define QTN_HOST_HI32(a) 049#define QTN_HOST_LO32(a) ((u32)(((u32)a) & 0xffffffffUL))50#define QTN_HOST_ADDR(h, l) ((u32)l)51#endif52 53#define QTN_PCIE_BDA_VERSION 0x100254 55#define PCIE_BDA_NAMELEN 3256#define PCIE_HHBM_MAX_SIZE 204857 58#define QTN_PCIE_BOARDFLG "PCIEQTN"59#define QTN_PCIE_FW_DLMASK 0xF60#define QTN_PCIE_FW_BUFSZ 204861 62#define QTN_ENET_ADDR_LENGTH 663 64#define QTN_TXDONE_MASK ((u32)0x80000000)65#define QTN_GET_LEN(x) ((x) & 0xFFFF)66 67#define QTN_PCIE_TX_DESC_LEN_MASK 0xFFFF68#define QTN_PCIE_TX_DESC_LEN_SHIFT 069#define QTN_PCIE_TX_DESC_PORT_MASK 0xF70#define QTN_PCIE_TX_DESC_PORT_SHIFT 1671#define QTN_PCIE_TX_DESC_TQE_BIT BIT(24)72 73#define QTN_EP_LHOST_TQE_PORT 474 75enum qtnf_fw_loadtype {76 QTN_FW_DBEGIN,77 QTN_FW_DSUB,78 QTN_FW_DEND,79 QTN_FW_CTRL80};81 82#endif /* _QTN_FMAC_PCIE_IPC_H_ */83