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
17enum 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
25struct 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
40extern const struct nfp_dev_info nfp_dev_info[NFP_DEV_CNT];
41
42#endif
43

source code of linux/drivers/net/ethernet/netronome/nfp/nfpcore/nfp_dev.h