doc: whitespace changes in licenses
[dpdk.git] / lib / librte_eal / common / include / rte_pci_dev_ids.h
1 /*-
2  * This file is provided under a dual BSD/GPLv2 license.  When using or
3  *   redistributing this file, you may do so under either license.
4  * 
5  *   GPL LICENSE SUMMARY
6  * 
7  *   Copyright(c) 2010-2013 Intel Corporation. All rights reserved.
8  * 
9  *   This program is free software; you can redistribute it and/or modify
10  *   it under the terms of version 2 of the GNU General Public License as
11  *   published by the Free Software Foundation.
12  * 
13  *   This program is distributed in the hope that it will be useful, but
14  *   WITHOUT ANY WARRANTY; without even the implied warranty of
15  *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
16  *   General Public License for more details.
17  * 
18  *   You should have received a copy of the GNU General Public License
19  *   along with this program; if not, write to the Free Software
20  *   Foundation, Inc., 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA.
21  *   The full GNU General Public License is included in this distribution
22  *   in the file called LICENSE.GPL.
23  * 
24  *   Contact Information:
25  *   Intel Corporation
26  * 
27  *   BSD LICENSE
28  * 
29  *   Copyright(c) 2010-2013 Intel Corporation. All rights reserved.
30  *   All rights reserved.
31  * 
32  *   Redistribution and use in source and binary forms, with or without
33  *   modification, are permitted provided that the following conditions
34  *   are met:
35  * 
36  *     * Redistributions of source code must retain the above copyright
37  *       notice, this list of conditions and the following disclaimer.
38  *     * Redistributions in binary form must reproduce the above copyright
39  *       notice, this list of conditions and the following disclaimer in
40  *       the documentation and/or other materials provided with the
41  *       distribution.
42  *     * Neither the name of Intel Corporation nor the names of its
43  *       contributors may be used to endorse or promote products derived
44  *       from this software without specific prior written permission.
45  * 
46  *   THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
47  *   "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
48  *   LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
49  *   A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
50  *   OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
51  *   SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
52  *   LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
53  *   DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
54  *   THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
55  *   (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
56  *   OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
57  * 
58  */
59
60 /**
61  * @file
62  *
63  * This file contains a list of the PCI device IDs recognised by DPDK, which
64  * can be used to fill out an array of structures describing the devices.
65  *
66  * Currently three families of devices are recognised: those supported by the
67  * IGB driver, by EM driver, and those supported by the IXGBE driver.
68  * The inclusion of these in an array built using this file depends on the
69  * definition of
70  * RTE_PCI_DEV_ID_DECL_EM
71  * RTE_PCI_DEV_ID_DECL_IGB
72  * RTE_PCI_DEV_ID_DECL_IGBVF
73  * RTE_PCI_DEV_ID_DECL_IXGBE
74  * RTE_PCI_DEV_ID_DECL_IXGBEVF
75  * at the time when this file is included.
76  *
77  * In order to populate an array, the user of this file must define this macro:
78  * RTE_PCI_DEV_ID_DECL_IXGBE(vendorID, deviceID). For example:
79  *
80  * @code
81  * struct device {
82  *     int vend;
83  *     int dev;
84  * };
85  *
86  * struct device devices[] = {
87  * #define RTE_PCI_DEV_ID_DECL_IXGBE(vendorID, deviceID) {vend, dev},
88  * #include <rte_pci_dev_ids.h>
89  * };
90  * @endcode
91  *
92  * Note that this file can be included multiple times within the same file.
93  */
94
95 #ifndef RTE_PCI_DEV_ID_DECL_EM
96 #define RTE_PCI_DEV_ID_DECL_EM(vend, dev)
97 #endif
98
99 #ifndef RTE_PCI_DEV_ID_DECL_IGB
100 #define RTE_PCI_DEV_ID_DECL_IGB(vend, dev)
101 #endif
102
103 #ifndef RTE_PCI_DEV_ID_DECL_IGBVF
104 #define RTE_PCI_DEV_ID_DECL_IGBVF(vend, dev)
105 #endif
106
107 #ifndef RTE_PCI_DEV_ID_DECL_IXGBE
108 #define RTE_PCI_DEV_ID_DECL_IXGBE(vend, dev)
109 #endif
110
111 #ifndef RTE_PCI_DEV_ID_DECL_IXGBEVF
112 #define RTE_PCI_DEV_ID_DECL_IXGBEVF(vend, dev)
113 #endif
114
115 #ifndef PCI_VENDOR_ID_INTEL
116 /** Vendor ID used by Intel devices */
117 #define PCI_VENDOR_ID_INTEL 0x8086
118 #endif
119
120 /******************** Physical EM devices from e1000_hw.h ********************/
121
122 #define E1000_DEV_ID_82542                    0x1000
123 #define E1000_DEV_ID_82543GC_FIBER            0x1001
124 #define E1000_DEV_ID_82543GC_COPPER           0x1004
125 #define E1000_DEV_ID_82544EI_COPPER           0x1008
126 #define E1000_DEV_ID_82544EI_FIBER            0x1009
127 #define E1000_DEV_ID_82544GC_COPPER           0x100C
128 #define E1000_DEV_ID_82544GC_LOM              0x100D
129 #define E1000_DEV_ID_82540EM                  0x100E
130 #define E1000_DEV_ID_82540EM_LOM              0x1015
131 #define E1000_DEV_ID_82540EP_LOM              0x1016
132 #define E1000_DEV_ID_82540EP                  0x1017
133 #define E1000_DEV_ID_82540EP_LP               0x101E
134 #define E1000_DEV_ID_82545EM_COPPER           0x100F
135 #define E1000_DEV_ID_82545EM_FIBER            0x1011
136 #define E1000_DEV_ID_82545GM_COPPER           0x1026
137 #define E1000_DEV_ID_82545GM_FIBER            0x1027
138 #define E1000_DEV_ID_82545GM_SERDES           0x1028
139 #define E1000_DEV_ID_82546EB_COPPER           0x1010
140 #define E1000_DEV_ID_82546EB_FIBER            0x1012
141 #define E1000_DEV_ID_82546EB_QUAD_COPPER      0x101D
142 #define E1000_DEV_ID_82546GB_COPPER           0x1079
143 #define E1000_DEV_ID_82546GB_FIBER            0x107A
144 #define E1000_DEV_ID_82546GB_SERDES           0x107B
145 #define E1000_DEV_ID_82546GB_PCIE             0x108A
146 #define E1000_DEV_ID_82546GB_QUAD_COPPER      0x1099
147 #define E1000_DEV_ID_82546GB_QUAD_COPPER_KSP3 0x10B5
148 #define E1000_DEV_ID_82541EI                  0x1013
149 #define E1000_DEV_ID_82541EI_MOBILE           0x1018
150 #define E1000_DEV_ID_82541ER_LOM              0x1014
151 #define E1000_DEV_ID_82541ER                  0x1078
152 #define E1000_DEV_ID_82541GI                  0x1076
153 #define E1000_DEV_ID_82541GI_LF               0x107C
154 #define E1000_DEV_ID_82541GI_MOBILE           0x1077
155 #define E1000_DEV_ID_82547EI                  0x1019
156 #define E1000_DEV_ID_82547EI_MOBILE           0x101A
157 #define E1000_DEV_ID_82547GI                  0x1075
158 #define E1000_DEV_ID_82571EB_COPPER           0x105E
159 #define E1000_DEV_ID_82571EB_FIBER            0x105F
160 #define E1000_DEV_ID_82571EB_SERDES           0x1060
161 #define E1000_DEV_ID_82571EB_SERDES_DUAL      0x10D9
162 #define E1000_DEV_ID_82571EB_SERDES_QUAD      0x10DA
163 #define E1000_DEV_ID_82571EB_QUAD_COPPER      0x10A4
164 #define E1000_DEV_ID_82571PT_QUAD_COPPER      0x10D5
165 #define E1000_DEV_ID_82571EB_QUAD_FIBER       0x10A5
166 #define E1000_DEV_ID_82571EB_QUAD_COPPER_LP   0x10BC
167 #define E1000_DEV_ID_82572EI_COPPER           0x107D
168 #define E1000_DEV_ID_82572EI_FIBER            0x107E
169 #define E1000_DEV_ID_82572EI_SERDES           0x107F
170 #define E1000_DEV_ID_82572EI                  0x10B9
171 #define E1000_DEV_ID_82573E                   0x108B
172 #define E1000_DEV_ID_82573E_IAMT              0x108C
173 #define E1000_DEV_ID_82573L                   0x109A
174 #define E1000_DEV_ID_82574L                   0x10D3
175 #define E1000_DEV_ID_82574LA                  0x10F6
176 #define E1000_DEV_ID_82583V                   0x150C
177 #define E1000_DEV_ID_80003ES2LAN_COPPER_DPT   0x1096
178 #define E1000_DEV_ID_80003ES2LAN_SERDES_DPT   0x1098
179 #define E1000_DEV_ID_80003ES2LAN_COPPER_SPT   0x10BA
180 #define E1000_DEV_ID_80003ES2LAN_SERDES_SPT   0x10BB
181 #define E1000_DEV_ID_ICH8_82567V_3            0x1501
182 #define E1000_DEV_ID_ICH8_IGP_M_AMT           0x1049
183 #define E1000_DEV_ID_ICH8_IGP_AMT             0x104A
184 #define E1000_DEV_ID_ICH8_IGP_C               0x104B
185 #define E1000_DEV_ID_ICH8_IFE                 0x104C
186 #define E1000_DEV_ID_ICH8_IFE_GT              0x10C4
187 #define E1000_DEV_ID_ICH8_IFE_G               0x10C5
188 #define E1000_DEV_ID_ICH8_IGP_M               0x104D
189 #define E1000_DEV_ID_ICH9_IGP_M               0x10BF
190 #define E1000_DEV_ID_ICH9_IGP_M_AMT           0x10F5
191 #define E1000_DEV_ID_ICH9_IGP_M_V             0x10CB
192 #define E1000_DEV_ID_ICH9_IGP_AMT             0x10BD
193 #define E1000_DEV_ID_ICH9_BM                  0x10E5
194 #define E1000_DEV_ID_ICH9_IGP_C               0x294C
195 #define E1000_DEV_ID_ICH9_IFE                 0x10C0
196 #define E1000_DEV_ID_ICH9_IFE_GT              0x10C3
197 #define E1000_DEV_ID_ICH9_IFE_G               0x10C2
198 #define E1000_DEV_ID_ICH10_R_BM_LM            0x10CC
199 #define E1000_DEV_ID_ICH10_R_BM_LF            0x10CD
200 #define E1000_DEV_ID_ICH10_R_BM_V             0x10CE
201 #define E1000_DEV_ID_ICH10_D_BM_LM            0x10DE
202 #define E1000_DEV_ID_ICH10_D_BM_LF            0x10DF
203 #define E1000_DEV_ID_ICH10_D_BM_V             0x1525
204
205 #define E1000_DEV_ID_PCH_M_HV_LM              0x10EA
206 #define E1000_DEV_ID_PCH_M_HV_LC              0x10EB
207 #define E1000_DEV_ID_PCH_D_HV_DM              0x10EF
208 #define E1000_DEV_ID_PCH_D_HV_DC              0x10F0
209 #define E1000_DEV_ID_PCH2_LV_LM               0x1502
210 #define E1000_DEV_ID_PCH2_LV_V                0x1503
211
212 /*
213  * Tested (supported) on VM emulated HW.
214  */
215
216 RTE_PCI_DEV_ID_DECL_EM(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_82540EM)
217 RTE_PCI_DEV_ID_DECL_EM(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_82545EM_COPPER)
218 RTE_PCI_DEV_ID_DECL_EM(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_82545EM_FIBER)
219
220 /*
221  * Tested (supported) on real HW.
222  */
223
224 RTE_PCI_DEV_ID_DECL_EM(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_82571EB_COPPER)
225 RTE_PCI_DEV_ID_DECL_EM(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_82571EB_FIBER)
226 RTE_PCI_DEV_ID_DECL_EM(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_82571EB_SERDES)
227 RTE_PCI_DEV_ID_DECL_EM(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_82571EB_SERDES_DUAL)
228 RTE_PCI_DEV_ID_DECL_EM(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_82571EB_SERDES_QUAD)
229 RTE_PCI_DEV_ID_DECL_EM(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_82571EB_QUAD_COPPER)
230 RTE_PCI_DEV_ID_DECL_EM(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_82571PT_QUAD_COPPER)
231 RTE_PCI_DEV_ID_DECL_EM(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_82571EB_QUAD_FIBER)
232 RTE_PCI_DEV_ID_DECL_EM(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_82571EB_QUAD_COPPER_LP)
233 RTE_PCI_DEV_ID_DECL_EM(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_82572EI_COPPER)
234 RTE_PCI_DEV_ID_DECL_EM(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_82572EI_FIBER)
235 RTE_PCI_DEV_ID_DECL_EM(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_82572EI_SERDES)
236 RTE_PCI_DEV_ID_DECL_EM(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_82572EI)
237 RTE_PCI_DEV_ID_DECL_EM(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_82573L)
238 RTE_PCI_DEV_ID_DECL_EM(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_82574L)
239 RTE_PCI_DEV_ID_DECL_EM(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_82574LA)
240
241 /******************** Physical IGB devices from e1000_hw.h ********************/
242
243 #define E1000_DEV_ID_82576                      0x10C9
244 #define E1000_DEV_ID_82576_FIBER                0x10E6
245 #define E1000_DEV_ID_82576_SERDES               0x10E7
246 #define E1000_DEV_ID_82576_QUAD_COPPER          0x10E8
247 #define E1000_DEV_ID_82576_QUAD_COPPER_ET2      0x1526
248 #define E1000_DEV_ID_82576_NS                   0x150A
249 #define E1000_DEV_ID_82576_NS_SERDES            0x1518
250 #define E1000_DEV_ID_82576_SERDES_QUAD          0x150D
251 #define E1000_DEV_ID_82575EB_COPPER             0x10A7
252 #define E1000_DEV_ID_82575EB_FIBER_SERDES       0x10A9
253 #define E1000_DEV_ID_82575GB_QUAD_COPPER        0x10D6
254 #define E1000_DEV_ID_82580_COPPER               0x150E
255 #define E1000_DEV_ID_82580_FIBER                0x150F
256 #define E1000_DEV_ID_82580_SERDES               0x1510
257 #define E1000_DEV_ID_82580_SGMII                0x1511
258 #define E1000_DEV_ID_82580_COPPER_DUAL          0x1516
259 #define E1000_DEV_ID_82580_QUAD_FIBER           0x1527
260 #define E1000_DEV_ID_I350_COPPER                0x1521
261 #define E1000_DEV_ID_I350_FIBER                 0x1522
262 #define E1000_DEV_ID_I350_SERDES                0x1523
263 #define E1000_DEV_ID_I350_SGMII                 0x1524
264 #define E1000_DEV_ID_I350_DA4                   0x1546
265 #define E1000_DEV_ID_I210_COPPER                0x1533
266 #define E1000_DEV_ID_I210_COPPER_OEM1           0x1534
267 #define E1000_DEV_ID_I210_COPPER_IT             0x1535
268 #define E1000_DEV_ID_I210_FIBER                 0x1536
269 #define E1000_DEV_ID_I210_SERDES                0x1537
270 #define E1000_DEV_ID_I210_SGMII                 0x1538
271 #define E1000_DEV_ID_I211_COPPER                0x1539
272 #define E1000_DEV_ID_DH89XXCC_SGMII             0x0438
273 #define E1000_DEV_ID_DH89XXCC_SERDES            0x043A
274 #define E1000_DEV_ID_DH89XXCC_BACKPLANE         0x043C
275 #define E1000_DEV_ID_DH89XXCC_SFP               0x0440
276
277 RTE_PCI_DEV_ID_DECL_IGB(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_82576)
278 RTE_PCI_DEV_ID_DECL_IGB(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_82576_FIBER)
279 RTE_PCI_DEV_ID_DECL_IGB(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_82576_SERDES)
280 RTE_PCI_DEV_ID_DECL_IGB(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_82576_QUAD_COPPER)
281 RTE_PCI_DEV_ID_DECL_IGB(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_82576_QUAD_COPPER_ET2)
282 RTE_PCI_DEV_ID_DECL_IGB(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_82576_NS)
283 RTE_PCI_DEV_ID_DECL_IGB(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_82576_NS_SERDES)
284 RTE_PCI_DEV_ID_DECL_IGB(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_82576_SERDES_QUAD)
285
286 /* This device is the on-board NIC on some development boards. */
287 #ifdef RTE_PCI_DEV_USE_82575EB_COPPER
288 RTE_PCI_DEV_ID_DECL_IGB(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_82575EB_COPPER)
289 #endif
290
291 RTE_PCI_DEV_ID_DECL_IGB(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_82575EB_FIBER_SERDES)
292 RTE_PCI_DEV_ID_DECL_IGB(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_82575GB_QUAD_COPPER)
293
294 RTE_PCI_DEV_ID_DECL_IGB(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_82580_COPPER)
295 RTE_PCI_DEV_ID_DECL_IGB(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_82580_FIBER)
296 RTE_PCI_DEV_ID_DECL_IGB(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_82580_SERDES)
297 RTE_PCI_DEV_ID_DECL_IGB(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_82580_SGMII)
298 RTE_PCI_DEV_ID_DECL_IGB(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_82580_COPPER_DUAL)
299 RTE_PCI_DEV_ID_DECL_IGB(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_82580_QUAD_FIBER)
300
301 /* This device is the on-board NIC on some development boards. */
302 #ifndef RTE_PCI_DEV_NO_USE_I350_COPPER
303 RTE_PCI_DEV_ID_DECL_IGB(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_I350_COPPER)
304 #endif
305
306 RTE_PCI_DEV_ID_DECL_IGB(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_I350_FIBER)
307 RTE_PCI_DEV_ID_DECL_IGB(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_I350_SERDES)
308 RTE_PCI_DEV_ID_DECL_IGB(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_I350_SGMII)
309 RTE_PCI_DEV_ID_DECL_IGB(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_I350_DA4)
310 RTE_PCI_DEV_ID_DECL_IGB(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_I210_COPPER)
311 RTE_PCI_DEV_ID_DECL_IGB(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_I210_COPPER_OEM1)
312 RTE_PCI_DEV_ID_DECL_IGB(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_I210_COPPER_IT)
313 RTE_PCI_DEV_ID_DECL_IGB(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_I210_FIBER)
314 RTE_PCI_DEV_ID_DECL_IGB(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_I210_SERDES)
315 RTE_PCI_DEV_ID_DECL_IGB(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_I210_SGMII)
316 RTE_PCI_DEV_ID_DECL_IGB(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_I211_COPPER)
317 RTE_PCI_DEV_ID_DECL_IGB(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_DH89XXCC_SGMII)
318 RTE_PCI_DEV_ID_DECL_IGB(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_DH89XXCC_SERDES)
319 RTE_PCI_DEV_ID_DECL_IGB(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_DH89XXCC_BACKPLANE)
320 RTE_PCI_DEV_ID_DECL_IGB(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_DH89XXCC_SFP)
321
322 /****************** Physical IXGBE devices from ixgbe_type.h ******************/
323
324 #define IXGBE_DEV_ID_82598                      0x10B6
325 #define IXGBE_DEV_ID_82598_BX                   0x1508
326 #define IXGBE_DEV_ID_82598AF_DUAL_PORT          0x10C6
327 #define IXGBE_DEV_ID_82598AF_SINGLE_PORT        0x10C7
328 #define IXGBE_DEV_ID_82598AT                    0x10C8
329 #define IXGBE_DEV_ID_82598AT2                   0x150B
330 #define IXGBE_DEV_ID_82598EB_SFP_LOM            0x10DB
331 #define IXGBE_DEV_ID_82598EB_CX4                0x10DD
332 #define IXGBE_DEV_ID_82598_CX4_DUAL_PORT        0x10EC
333 #define IXGBE_DEV_ID_82598_DA_DUAL_PORT         0x10F1
334 #define IXGBE_DEV_ID_82598_SR_DUAL_PORT_EM      0x10E1
335 #define IXGBE_DEV_ID_82598EB_XF_LR              0x10F4
336 #define IXGBE_DEV_ID_82599_KX4                  0x10F7
337 #define IXGBE_DEV_ID_82599_KX4_MEZZ             0x1514
338 #define IXGBE_DEV_ID_82599_KR                   0x1517
339 #define IXGBE_DEV_ID_82599_COMBO_BACKPLANE      0x10F8
340 #define IXGBE_SUBDEV_ID_82599_KX4_KR_MEZZ       0x000C
341 #define IXGBE_DEV_ID_82599_CX4                  0x10F9
342 #define IXGBE_DEV_ID_82599_SFP                  0x10FB
343 #define IXGBE_SUBDEV_ID_82599_SFP               0x11A9
344 #define IXGBE_SUBDEV_ID_82599_RNDC              0x1F72
345 #define IXGBE_SUBDEV_ID_82599_560FLR            0x17D0
346 #define IXGBE_SUBDEV_ID_82599_ECNA_DP           0x0470
347 #define IXGBE_DEV_ID_82599_BACKPLANE_FCOE       0x152A
348 #define IXGBE_DEV_ID_82599_SFP_FCOE             0x1529
349 #define IXGBE_DEV_ID_82599_SFP_EM               0x1507
350 #define IXGBE_DEV_ID_82599_SFP_SF2              0x154D
351 #define IXGBE_DEV_ID_82599_SFP_SF_QP            0x154A
352 #define IXGBE_DEV_ID_82599EN_SFP                0x1557
353 #define IXGBE_DEV_ID_82599_XAUI_LOM             0x10FC
354 #define IXGBE_DEV_ID_82599_T3_LOM               0x151C
355 #define IXGBE_DEV_ID_X540T                      0x1528
356 #define IXGBE_DEV_ID_X540T1                     0x1560
357
358 RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_82598)
359 RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_82598_BX)
360 RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_82598AF_DUAL_PORT)
361 RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, \
362         IXGBE_DEV_ID_82598AF_SINGLE_PORT)
363 RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_82598AT)
364 RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_82598AT2)
365 RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_82598EB_SFP_LOM)
366 RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_82598EB_CX4)
367 RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_82598_CX4_DUAL_PORT)
368 RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_82598_DA_DUAL_PORT)
369 RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, \
370         IXGBE_DEV_ID_82598_SR_DUAL_PORT_EM)
371 RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_82598EB_XF_LR)
372 RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_82599_KX4)
373 RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_82599_KX4_MEZZ)
374 RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_82599_KR)
375 RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, \
376         IXGBE_DEV_ID_82599_COMBO_BACKPLANE)
377 RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, \
378         IXGBE_SUBDEV_ID_82599_KX4_KR_MEZZ)
379 RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_82599_CX4)
380 RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_82599_SFP)
381 RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, IXGBE_SUBDEV_ID_82599_SFP)
382 RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, IXGBE_SUBDEV_ID_82599_RNDC)
383 RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, IXGBE_SUBDEV_ID_82599_560FLR)
384 RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, IXGBE_SUBDEV_ID_82599_ECNA_DP)
385 RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_82599_BACKPLANE_FCOE)
386 RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_82599_SFP_FCOE)
387 RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_82599_SFP_EM)
388 RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_82599_SFP_SF2)
389 RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_82599_SFP_SF_QP)
390 RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_82599EN_SFP)
391 RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_82599_XAUI_LOM)
392 RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_82599_T3_LOM)
393 RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_X540T)
394 RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_X540T1)
395
396 /****************** Virtual IGB devices from e1000_hw.h ******************/
397
398 #define E1000_DEV_ID_82576_VF                   0x10CA
399 #define E1000_DEV_ID_82576_VF_HV                0x152D
400 #define E1000_DEV_ID_I350_VF                    0x1520
401 #define E1000_DEV_ID_I350_VF_HV                 0x152F
402
403 RTE_PCI_DEV_ID_DECL_IGBVF(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_82576_VF)
404 RTE_PCI_DEV_ID_DECL_IGBVF(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_82576_VF_HV)
405 RTE_PCI_DEV_ID_DECL_IGBVF(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_I350_VF)
406 RTE_PCI_DEV_ID_DECL_IGBVF(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_I350_VF_HV)
407
408 /****************** Virtual IXGBE devices from ixgbe_type.h ******************/
409
410 #define IXGBE_DEV_ID_82599_VF                   0x10ED
411 #define IXGBE_DEV_ID_82599_VF_HV                0x152E
412 #define IXGBE_DEV_ID_X540_VF                    0x1515
413 #define IXGBE_DEV_ID_X540_VF_HV                 0x1530
414
415 RTE_PCI_DEV_ID_DECL_IXGBEVF(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_82599_VF)
416 RTE_PCI_DEV_ID_DECL_IXGBEVF(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_82599_VF_HV)
417 RTE_PCI_DEV_ID_DECL_IXGBEVF(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_X540_VF)
418 RTE_PCI_DEV_ID_DECL_IXGBEVF(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_X540_VF_HV)
419
420 /*
421  * Undef all RTE_PCI_DEV_ID_DECL_* here.
422  */
423 #undef RTE_PCI_DEV_ID_DECL_EM
424 #undef RTE_PCI_DEV_ID_DECL_IGB
425 #undef RTE_PCI_DEV_ID_DECL_IGBVF
426 #undef RTE_PCI_DEV_ID_DECL_IXGBE
427 #undef RTE_PCI_DEV_ID_DECL_IXGBEVF