xref: /dpdk/drivers/net/nfb/nfb.h (revision 2b843cac232eb3f2fa79e4254e21766817e2019f)
16435f9a0SRastislav Cernay /* SPDX-License-Identifier: BSD-3-Clause
26435f9a0SRastislav Cernay  * Copyright(c) 2019 Cesnet
36435f9a0SRastislav Cernay  * Copyright(c) 2019 Netcope Technologies, a.s. <info@netcope.com>
46435f9a0SRastislav Cernay  * All rights reserved.
56435f9a0SRastislav Cernay  */
66435f9a0SRastislav Cernay 
76435f9a0SRastislav Cernay #ifndef _NFB_H_
86435f9a0SRastislav Cernay #define _NFB_H_
96435f9a0SRastislav Cernay 
106435f9a0SRastislav Cernay #include <nfb/nfb.h>
116435f9a0SRastislav Cernay #include <nfb/ndp.h>
126435f9a0SRastislav Cernay #include <netcope/rxmac.h>
136435f9a0SRastislav Cernay #include <netcope/txmac.h>
146435f9a0SRastislav Cernay 
15ad616a80SStephen Hemminger extern int nfb_logtype;
16*2b843cacSDavid Marchand #define RTE_LOGTYPE_NFB nfb_logtype
17*2b843cacSDavid Marchand #define NFB_LOG(level, ...) \
18*2b843cacSDavid Marchand 	RTE_LOG_LINE_PREFIX(level, NFB, "%s(): ", __func__, __VA_ARGS__)
19ad616a80SStephen Hemminger 
206435f9a0SRastislav Cernay #include "nfb_rx.h"
216435f9a0SRastislav Cernay #include "nfb_tx.h"
226435f9a0SRastislav Cernay 
236435f9a0SRastislav Cernay /* PCI Vendor ID */
246435f9a0SRastislav Cernay #define PCI_VENDOR_ID_NETCOPE 0x1b26
25f37c57a1SRastislav Cernay #define PCI_VENDOR_ID_SILICOM 0x1c2c
266435f9a0SRastislav Cernay 
276435f9a0SRastislav Cernay /* PCI Device IDs */
286435f9a0SRastislav Cernay #define PCI_DEVICE_ID_NFB_40G2  0xcb80
296435f9a0SRastislav Cernay #define PCI_DEVICE_ID_NFB_100G2 0xc2c1
306435f9a0SRastislav Cernay #define PCI_DEVICE_ID_NFB_200G2QL 0xc250
31f37c57a1SRastislav Cernay #define PCI_DEVICE_ID_FB2CGG3   0x00d0
32f37c57a1SRastislav Cernay #define PCI_DEVICE_ID_FB2CGG3D  0xc240
336435f9a0SRastislav Cernay 
346435f9a0SRastislav Cernay /* Max index of ndp rx/tx queues */
356435f9a0SRastislav Cernay #define RTE_ETH_NDP_MAX_RX_QUEUES 32
366435f9a0SRastislav Cernay #define RTE_ETH_NDP_MAX_TX_QUEUES 32
376435f9a0SRastislav Cernay 
386435f9a0SRastislav Cernay /* Max index of rx/tx dmas */
396435f9a0SRastislav Cernay #define RTE_MAX_NC_RXMAC 256
406435f9a0SRastislav Cernay #define RTE_MAX_NC_TXMAC 256
416435f9a0SRastislav Cernay 
426435f9a0SRastislav Cernay #define RTE_NFB_DRIVER_NAME net_nfb
436435f9a0SRastislav Cernay 
449c7fd48fSRastislav Cernay 
456435f9a0SRastislav Cernay struct pmd_internals {
466435f9a0SRastislav Cernay 	uint16_t         max_rxmac;
476435f9a0SRastislav Cernay 	uint16_t         max_txmac;
486435f9a0SRastislav Cernay 	struct nc_rxmac *rxmac[RTE_MAX_NC_RXMAC];
496435f9a0SRastislav Cernay 	struct nc_txmac *txmac[RTE_MAX_NC_TXMAC];
506435f9a0SRastislav Cernay 	struct nfb_device *nfb;
516435f9a0SRastislav Cernay };
526435f9a0SRastislav Cernay 
536435f9a0SRastislav Cernay #endif /* _NFB_H_ */
54