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