Back to home page

OSCL-LXR

 
 

    


0001 /* SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) */
0002 /* Copyright (C) 2019 Netronome Systems, Inc. */
0003 
0004 #ifndef _NFP_DEV_H_
0005 #define _NFP_DEV_H_
0006 
0007 #include <linux/types.h>
0008 
0009 #define PCI_VENDOR_ID_CORIGINE  0x1da8
0010 #define PCI_DEVICE_ID_NFP3800   0x3800
0011 #define PCI_DEVICE_ID_NFP4000   0x4000
0012 #define PCI_DEVICE_ID_NFP5000   0x5000
0013 #define PCI_DEVICE_ID_NFP6000   0x6000
0014 #define PCI_DEVICE_ID_NFP3800_VF    0x3803
0015 #define PCI_DEVICE_ID_NFP6000_VF    0x6003
0016 
0017 enum nfp_dev_id {
0018     NFP_DEV_NFP3800,
0019     NFP_DEV_NFP3800_VF,
0020     NFP_DEV_NFP6000,
0021     NFP_DEV_NFP6000_VF,
0022     NFP_DEV_CNT,
0023 };
0024 
0025 struct nfp_dev_info {
0026     /* Required fields */
0027     u64 dma_mask;
0028     u32 qc_idx_mask;
0029     u32 qc_addr_offset;
0030     u32 min_qc_size;
0031     u32 max_qc_size;
0032 
0033     /* PF-only fields */
0034     const char *chip_names;
0035     u32 pcie_cfg_expbar_offset;
0036     u32 pcie_expl_offset;
0037     u32 qc_area_sz;
0038 };
0039 
0040 extern const struct nfp_dev_info nfp_dev_info[NFP_DEV_CNT];
0041 
0042 #endif