1
2
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
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
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
75 enum qtnf_fw_loadtype {
76 QTN_FW_DBEGIN,
77 QTN_FW_DSUB,
78 QTN_FW_DEND,
79 QTN_FW_CTRL
80 };
81
82 #endif