1 | /* SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) */ |
2 | /* Copyright (C) 2019 Netronome Systems, Inc. */ |
3 | |
4 | #ifndef _NFP_DEV_H_ |
5 | #define _NFP_DEV_H_ |
6 | |
7 | #include <linux/types.h> |
8 | |
9 | #define PCI_VENDOR_ID_CORIGINE 0x1da8 |
10 | #define PCI_DEVICE_ID_NFP3800 0x3800 |
11 | #define PCI_DEVICE_ID_NFP4000 0x4000 |
12 | #define PCI_DEVICE_ID_NFP5000 0x5000 |
13 | #define PCI_DEVICE_ID_NFP6000 0x6000 |
14 | #define PCI_DEVICE_ID_NFP3800_VF 0x3803 |
15 | #define PCI_DEVICE_ID_NFP6000_VF 0x6003 |
16 | |
17 | enum nfp_dev_id { |
18 | NFP_DEV_NFP3800, |
19 | NFP_DEV_NFP3800_VF, |
20 | NFP_DEV_NFP6000, |
21 | NFP_DEV_NFP6000_VF, |
22 | NFP_DEV_CNT, |
23 | }; |
24 | |
25 | struct nfp_dev_info { |
26 | /* Required fields */ |
27 | u64 dma_mask; |
28 | u32 qc_idx_mask; |
29 | u32 qc_addr_offset; |
30 | u32 min_qc_size; |
31 | u32 max_qc_size; |
32 | |
33 | /* PF-only fields */ |
34 | const char *chip_names; |
35 | u32 pcie_cfg_expbar_offset; |
36 | u32 pcie_expl_offset; |
37 | u32 qc_area_sz; |
38 | }; |
39 | |
40 | extern const struct nfp_dev_info nfp_dev_info[NFP_DEV_CNT]; |
41 | |
42 | #endif |
43 | |