1 /******************************************************************************
2 
3   Copyright (c) 2013-2018, Intel Corporation
4   All rights reserved.
5 
6   Redistribution and use in source and binary forms, with or without
7   modification, are permitted provided that the following conditions are met:
8 
9    1. Redistributions of source code must retain the above copyright notice,
10       this list of conditions and the following disclaimer.
11 
12    2. Redistributions in binary form must reproduce the above copyright
13       notice, this list of conditions and the following disclaimer in the
14       documentation and/or other materials provided with the distribution.
15 
16    3. Neither the name of the Intel Corporation nor the names of its
17       contributors may be used to endorse or promote products derived from
18       this software without specific prior written permission.
19 
20   THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
21   AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
22   IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
23   ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
24   LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
25   CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
26   SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
27   INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
28   CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
29   ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
30   POSSIBILITY OF SUCH DAMAGE.
31 
32 ******************************************************************************/
33 /*$FreeBSD$*/
34 
35 #ifndef _I40E_DEVIDS_H_
36 #define _I40E_DEVIDS_H_
37 
38 /* Vendor ID */
39 #define I40E_INTEL_VENDOR_ID		0x8086
40 
41 /* Device IDs */
42 #define I40E_DEV_ID_X710_N3000		0x0CF8
43 #define I40E_DEV_ID_XXV710_N3000	0x0D58
44 #define I40E_DEV_ID_SFP_XL710		0x1572
45 #define I40E_DEV_ID_QEMU		0x1574
46 #define I40E_DEV_ID_KX_B		0x1580
47 #define I40E_DEV_ID_KX_C		0x1581
48 #define I40E_DEV_ID_QSFP_A		0x1583
49 #define I40E_DEV_ID_QSFP_B		0x1584
50 #define I40E_DEV_ID_QSFP_C		0x1585
51 #define I40E_DEV_ID_10G_BASE_T		0x1586
52 #define I40E_DEV_ID_20G_KR2		0x1587
53 #define I40E_DEV_ID_20G_KR2_A		0x1588
54 #define I40E_DEV_ID_10G_BASE_T4		0x1589
55 #define I40E_DEV_ID_25G_B		0x158A
56 #define I40E_DEV_ID_25G_SFP28		0x158B
57 #define I40E_DEV_ID_10G_BASE_T_BC	0x15FF
58 #define I40E_DEV_ID_10G_B		0x104F
59 #define I40E_DEV_ID_10G_SFP		0x104E
60 #define I40E_DEV_ID_5G_BASE_T_BC	0x101F
61 #define I40E_IS_X710TL_DEVICE(d) \
62 	(((d) == I40E_DEV_ID_10G_BASE_T_BC) || \
63 	((d) == I40E_DEV_ID_5G_BASE_T_BC))
64 #define I40E_DEV_ID_VF			0x154C
65 #define I40E_DEV_ID_VF_HV		0x1571
66 #define I40E_DEV_ID_ADAPTIVE_VF		0x1889
67 #define I40E_DEV_ID_KX_X722		0x37CE
68 #define I40E_DEV_ID_QSFP_X722		0x37CF
69 #define I40E_DEV_ID_SFP_X722		0x37D0
70 #define I40E_DEV_ID_1G_BASE_T_X722	0x37D1
71 #define I40E_DEV_ID_10G_BASE_T_X722	0x37D2
72 #define I40E_DEV_ID_SFP_I_X722		0x37D3
73 #define I40E_DEV_ID_X722_VF		0x37CD
74 
75 #define i40e_is_40G_device(d)		((d) == I40E_DEV_ID_QSFP_A  || \
76 					 (d) == I40E_DEV_ID_QSFP_B  || \
77 					 (d) == I40E_DEV_ID_QSFP_C)
78 
79 #define i40e_is_25G_device(d)		((d) == I40E_DEV_ID_25G_B  || \
80 					 (d) == I40E_DEV_ID_25G_SFP28)
81 
82 #endif /* _I40E_DEVIDS_H_ */
83