6069aed1af78006bc1f2d5c37e72889dac8e602d
[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-2012 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-2012 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 /**
62  * @file
63  *
64  * This file contains a list of the PCI device IDs recognised by DPDK, which
65  * can be used to fill out an array of structures describing the devices.
66  *
67  * Currently three families of devices are recognised: those supported by the
68  * IGB driver, by EM driver, and those supported by the IXGBE driver.
69  * The inclusion of these in an array built using this file depends on the
70  * definition of
71  * RTE_PCI_DEV_ID_DECL_EM
72  * RTE_PCI_DEV_ID_DECL_IGB
73  * RTE_PCI_DEV_ID_DECL_IGBVF
74  * RTE_PCI_DEV_ID_DECL_IXGBE
75  * RTE_PCI_DEV_ID_DECL_IXGBEVF
76  * at the time when this file is included.
77  *
78  * In order to populate an array, the user of this file must define this macro:
79  * RTE_PCI_DEV_ID_DECL_IXGBE(vendorID, deviceID). For example:
80  *
81  * @code
82  * struct device {
83  *     int vend;
84  *     int dev;
85  * };
86  *
87  * struct device devices[] = {
88  * #define RTE_PCI_DEV_ID_DECL_IXGBE(vendorID, deviceID) {vend, dev},
89  * #include <rte_pci_dev_ids.h>
90  * };
91  * @endcode
92  *
93  * Note that this file can be included multiple times within the same file.
94  */
95
96 #ifndef RTE_PCI_DEV_ID_DECL_EM
97 #define RTE_PCI_DEV_ID_DECL_EM(vend, dev)
98 #endif
99
100 #ifndef RTE_PCI_DEV_ID_DECL_IGB
101 #define RTE_PCI_DEV_ID_DECL_IGB(vend, dev)
102 #endif
103
104 #ifndef RTE_PCI_DEV_ID_DECL_IGBVF
105 #define RTE_PCI_DEV_ID_DECL_IGBVF(vend, dev)
106 #endif
107
108 #ifndef RTE_PCI_DEV_ID_DECL_IXGBE
109 #define RTE_PCI_DEV_ID_DECL_IXGBE(vend, dev)
110 #endif
111
112 #ifndef RTE_PCI_DEV_ID_DECL_IXGBEVF
113 #define RTE_PCI_DEV_ID_DECL_IXGBEVF(vend, dev)
114 #endif
115
116 #ifndef PCI_VENDOR_ID_INTEL
117 /** Vendor ID used by Intel devices */
118 #define PCI_VENDOR_ID_INTEL 0x8086
119 #endif
120
121 /******************** Physical EM devices from e1000_hw.h ********************/
122
123 #define E1000_DEV_ID_82542                    0x1000
124 #define E1000_DEV_ID_82543GC_FIBER            0x1001
125 #define E1000_DEV_ID_82543GC_COPPER           0x1004
126 #define E1000_DEV_ID_82544EI_COPPER           0x1008
127 #define E1000_DEV_ID_82544EI_FIBER            0x1009
128 #define E1000_DEV_ID_82544GC_COPPER           0x100C
129 #define E1000_DEV_ID_82544GC_LOM              0x100D
130 #define E1000_DEV_ID_82540EM                  0x100E
131 #define E1000_DEV_ID_82540EM_LOM              0x1015
132 #define E1000_DEV_ID_82540EP_LOM              0x1016
133 #define E1000_DEV_ID_82540EP                  0x1017
134 #define E1000_DEV_ID_82540EP_LP               0x101E
135 #define E1000_DEV_ID_82545EM_COPPER           0x100F
136 #define E1000_DEV_ID_82545EM_FIBER            0x1011
137 #define E1000_DEV_ID_82545GM_COPPER           0x1026
138 #define E1000_DEV_ID_82545GM_FIBER            0x1027
139 #define E1000_DEV_ID_82545GM_SERDES           0x1028
140 #define E1000_DEV_ID_82546EB_COPPER           0x1010
141 #define E1000_DEV_ID_82546EB_FIBER            0x1012
142 #define E1000_DEV_ID_82546EB_QUAD_COPPER      0x101D
143 #define E1000_DEV_ID_82546GB_COPPER           0x1079
144 #define E1000_DEV_ID_82546GB_FIBER            0x107A
145 #define E1000_DEV_ID_82546GB_SERDES           0x107B
146 #define E1000_DEV_ID_82546GB_PCIE             0x108A
147 #define E1000_DEV_ID_82546GB_QUAD_COPPER      0x1099
148 #define E1000_DEV_ID_82546GB_QUAD_COPPER_KSP3 0x10B5
149 #define E1000_DEV_ID_82541EI                  0x1013
150 #define E1000_DEV_ID_82541EI_MOBILE           0x1018
151 #define E1000_DEV_ID_82541ER_LOM              0x1014
152 #define E1000_DEV_ID_82541ER                  0x1078
153 #define E1000_DEV_ID_82541GI                  0x1076
154 #define E1000_DEV_ID_82541GI_LF               0x107C
155 #define E1000_DEV_ID_82541GI_MOBILE           0x1077
156 #define E1000_DEV_ID_82547EI                  0x1019
157 #define E1000_DEV_ID_82547EI_MOBILE           0x101A
158 #define E1000_DEV_ID_82547GI                  0x1075
159 #define E1000_DEV_ID_82571EB_COPPER           0x105E
160 #define E1000_DEV_ID_82571EB_FIBER            0x105F
161 #define E1000_DEV_ID_82571EB_SERDES           0x1060
162 #define E1000_DEV_ID_82571EB_SERDES_DUAL      0x10D9
163 #define E1000_DEV_ID_82571EB_SERDES_QUAD      0x10DA
164 #define E1000_DEV_ID_82571EB_QUAD_COPPER      0x10A4
165 #define E1000_DEV_ID_82571PT_QUAD_COPPER      0x10D5
166 #define E1000_DEV_ID_82571EB_QUAD_FIBER       0x10A5
167 #define E1000_DEV_ID_82571EB_QUAD_COPPER_LP   0x10BC
168 #define E1000_DEV_ID_82572EI_COPPER           0x107D
169 #define E1000_DEV_ID_82572EI_FIBER            0x107E
170 #define E1000_DEV_ID_82572EI_SERDES           0x107F
171 #define E1000_DEV_ID_82572EI                  0x10B9
172 #define E1000_DEV_ID_82573E                   0x108B
173 #define E1000_DEV_ID_82573E_IAMT              0x108C
174 #define E1000_DEV_ID_82573L                   0x109A
175 #define E1000_DEV_ID_82574L                   0x10D3
176 #define E1000_DEV_ID_82574LA                  0x10F6
177 #define E1000_DEV_ID_82583V                   0x150C
178 #define E1000_DEV_ID_80003ES2LAN_COPPER_DPT   0x1096
179 #define E1000_DEV_ID_80003ES2LAN_SERDES_DPT   0x1098
180 #define E1000_DEV_ID_80003ES2LAN_COPPER_SPT   0x10BA
181 #define E1000_DEV_ID_80003ES2LAN_SERDES_SPT   0x10BB
182 #define E1000_DEV_ID_ICH8_82567V_3            0x1501
183 #define E1000_DEV_ID_ICH8_IGP_M_AMT           0x1049
184 #define E1000_DEV_ID_ICH8_IGP_AMT             0x104A
185 #define E1000_DEV_ID_ICH8_IGP_C               0x104B
186 #define E1000_DEV_ID_ICH8_IFE                 0x104C
187 #define E1000_DEV_ID_ICH8_IFE_GT              0x10C4
188 #define E1000_DEV_ID_ICH8_IFE_G               0x10C5
189 #define E1000_DEV_ID_ICH8_IGP_M               0x104D
190 #define E1000_DEV_ID_ICH9_IGP_M               0x10BF
191 #define E1000_DEV_ID_ICH9_IGP_M_AMT           0x10F5
192 #define E1000_DEV_ID_ICH9_IGP_M_V             0x10CB
193 #define E1000_DEV_ID_ICH9_IGP_AMT             0x10BD
194 #define E1000_DEV_ID_ICH9_BM                  0x10E5
195 #define E1000_DEV_ID_ICH9_IGP_C               0x294C
196 #define E1000_DEV_ID_ICH9_IFE                 0x10C0
197 #define E1000_DEV_ID_ICH9_IFE_GT              0x10C3
198 #define E1000_DEV_ID_ICH9_IFE_G               0x10C2
199 #define E1000_DEV_ID_ICH10_R_BM_LM            0x10CC
200 #define E1000_DEV_ID_ICH10_R_BM_LF            0x10CD
201 #define E1000_DEV_ID_ICH10_R_BM_V             0x10CE
202 #define E1000_DEV_ID_ICH10_D_BM_LM            0x10DE
203 #define E1000_DEV_ID_ICH10_D_BM_LF            0x10DF
204 #define E1000_DEV_ID_ICH10_D_BM_V             0x1525
205
206 #define E1000_DEV_ID_PCH_M_HV_LM              0x10EA
207 #define E1000_DEV_ID_PCH_M_HV_LC              0x10EB
208 #define E1000_DEV_ID_PCH_D_HV_DM              0x10EF
209 #define E1000_DEV_ID_PCH_D_HV_DC              0x10F0
210 #define E1000_DEV_ID_PCH2_LV_LM               0x1502
211 #define E1000_DEV_ID_PCH2_LV_V                0x1503
212
213 /*
214  * Tested (supported) on VM emulated HW.
215  */
216
217 RTE_PCI_DEV_ID_DECL_EM(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_82540EM)
218 RTE_PCI_DEV_ID_DECL_EM(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_82545EM_COPPER)
219 RTE_PCI_DEV_ID_DECL_EM(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_82545EM_FIBER)
220
221 /*
222  * Tested (supported) on real HW.
223  */
224
225 RTE_PCI_DEV_ID_DECL_EM(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_82571EB_COPPER)
226 RTE_PCI_DEV_ID_DECL_EM(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_82571EB_FIBER)
227 RTE_PCI_DEV_ID_DECL_EM(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_82571EB_SERDES)
228 RTE_PCI_DEV_ID_DECL_EM(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_82571EB_SERDES_DUAL)
229 RTE_PCI_DEV_ID_DECL_EM(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_82571EB_SERDES_QUAD)
230 RTE_PCI_DEV_ID_DECL_EM(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_82571EB_QUAD_COPPER)
231 RTE_PCI_DEV_ID_DECL_EM(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_82571PT_QUAD_COPPER)
232 RTE_PCI_DEV_ID_DECL_EM(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_82571EB_QUAD_FIBER)
233 RTE_PCI_DEV_ID_DECL_EM(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_82571EB_QUAD_COPPER_LP)
234 RTE_PCI_DEV_ID_DECL_EM(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_82572EI_COPPER)
235 RTE_PCI_DEV_ID_DECL_EM(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_82572EI_FIBER)
236 RTE_PCI_DEV_ID_DECL_EM(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_82572EI_SERDES)
237 RTE_PCI_DEV_ID_DECL_EM(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_82572EI)
238 RTE_PCI_DEV_ID_DECL_EM(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_82573L)
239 RTE_PCI_DEV_ID_DECL_EM(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_82574L)
240 RTE_PCI_DEV_ID_DECL_EM(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_82574LA)
241
242 /******************** Physical IGB devices from e1000_hw.h ********************/
243
244 #define E1000_DEV_ID_82576                      0x10C9
245 #define E1000_DEV_ID_82576_FIBER                0x10E6
246 #define E1000_DEV_ID_82576_SERDES               0x10E7
247 #define E1000_DEV_ID_82576_QUAD_COPPER          0x10E8
248 #define E1000_DEV_ID_82576_QUAD_COPPER_ET2      0x1526
249 #define E1000_DEV_ID_82576_NS                   0x150A
250 #define E1000_DEV_ID_82576_NS_SERDES            0x1518
251 #define E1000_DEV_ID_82576_SERDES_QUAD          0x150D
252 #define E1000_DEV_ID_82575EB_COPPER             0x10A7
253 #define E1000_DEV_ID_82575EB_FIBER_SERDES       0x10A9
254 #define E1000_DEV_ID_82575GB_QUAD_COPPER        0x10D6
255 #define E1000_DEV_ID_82580_COPPER               0x150E
256 #define E1000_DEV_ID_82580_FIBER                0x150F
257 #define E1000_DEV_ID_82580_SERDES               0x1510
258 #define E1000_DEV_ID_82580_SGMII                0x1511
259 #define E1000_DEV_ID_82580_COPPER_DUAL          0x1516
260 #define E1000_DEV_ID_82580_QUAD_FIBER           0x1527
261 #define E1000_DEV_ID_I350_COPPER                0x1521
262 #define E1000_DEV_ID_I350_FIBER                 0x1522
263 #define E1000_DEV_ID_I350_SERDES                0x1523
264 #define E1000_DEV_ID_I350_SGMII                 0x1524
265 #define E1000_DEV_ID_I350_DA4                   0x1546
266 #define E1000_DEV_ID_I210_COPPER                0x1533
267 #define E1000_DEV_ID_I210_COPPER_OEM1           0x1534
268 #define E1000_DEV_ID_I210_COPPER_IT             0x1535
269 #define E1000_DEV_ID_I210_FIBER                 0x1536
270 #define E1000_DEV_ID_I210_SERDES                0x1537
271 #define E1000_DEV_ID_I210_SGMII                 0x1538
272 #define E1000_DEV_ID_I211_COPPER                0x1539
273 #define E1000_DEV_ID_DH89XXCC_SGMII             0x0438
274 #define E1000_DEV_ID_DH89XXCC_SERDES            0x043A
275 #define E1000_DEV_ID_DH89XXCC_BACKPLANE         0x043C
276 #define E1000_DEV_ID_DH89XXCC_SFP               0x0440
277
278 RTE_PCI_DEV_ID_DECL_IGB(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_82576)
279 RTE_PCI_DEV_ID_DECL_IGB(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_82576_FIBER)
280 RTE_PCI_DEV_ID_DECL_IGB(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_82576_SERDES)
281 RTE_PCI_DEV_ID_DECL_IGB(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_82576_QUAD_COPPER)
282 RTE_PCI_DEV_ID_DECL_IGB(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_82576_QUAD_COPPER_ET2)
283 RTE_PCI_DEV_ID_DECL_IGB(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_82576_NS)
284 RTE_PCI_DEV_ID_DECL_IGB(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_82576_NS_SERDES)
285 RTE_PCI_DEV_ID_DECL_IGB(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_82576_SERDES_QUAD)
286
287 /* This device is the on-board NIC on some development boards. */
288 #ifdef RTE_PCI_DEV_USE_82575EB_COPPER
289 RTE_PCI_DEV_ID_DECL_IGB(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_82575EB_COPPER)
290 #endif
291
292 RTE_PCI_DEV_ID_DECL_IGB(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_82575EB_FIBER_SERDES)
293 RTE_PCI_DEV_ID_DECL_IGB(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_82575GB_QUAD_COPPER)
294
295 RTE_PCI_DEV_ID_DECL_IGB(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_82580_COPPER)
296 RTE_PCI_DEV_ID_DECL_IGB(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_82580_FIBER)
297 RTE_PCI_DEV_ID_DECL_IGB(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_82580_SERDES)
298 RTE_PCI_DEV_ID_DECL_IGB(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_82580_SGMII)
299 RTE_PCI_DEV_ID_DECL_IGB(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_82580_COPPER_DUAL)
300 RTE_PCI_DEV_ID_DECL_IGB(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_82580_QUAD_FIBER)
301
302 /* This device is the on-board NIC on some development boards. */
303 #ifndef RTE_PCI_DEV_NO_USE_I350_COPPER
304 RTE_PCI_DEV_ID_DECL_IGB(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_I350_COPPER)
305 #endif
306
307 RTE_PCI_DEV_ID_DECL_IGB(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_I350_FIBER)
308 RTE_PCI_DEV_ID_DECL_IGB(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_I350_SERDES)
309 RTE_PCI_DEV_ID_DECL_IGB(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_I350_SGMII)
310 RTE_PCI_DEV_ID_DECL_IGB(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_I350_DA4)
311 RTE_PCI_DEV_ID_DECL_IGB(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_I210_COPPER)
312 RTE_PCI_DEV_ID_DECL_IGB(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_I210_COPPER_OEM1)
313 RTE_PCI_DEV_ID_DECL_IGB(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_I210_COPPER_IT)
314 RTE_PCI_DEV_ID_DECL_IGB(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_I210_FIBER)
315 RTE_PCI_DEV_ID_DECL_IGB(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_I210_SERDES)
316 RTE_PCI_DEV_ID_DECL_IGB(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_I210_SGMII)
317 RTE_PCI_DEV_ID_DECL_IGB(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_I211_COPPER)
318 RTE_PCI_DEV_ID_DECL_IGB(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_DH89XXCC_SGMII)
319 RTE_PCI_DEV_ID_DECL_IGB(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_DH89XXCC_SERDES)
320 RTE_PCI_DEV_ID_DECL_IGB(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_DH89XXCC_BACKPLANE)
321 RTE_PCI_DEV_ID_DECL_IGB(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_DH89XXCC_SFP)
322
323 /****************** Physical IXGBE devices from ixgbe_type.h ******************/
324
325 #define IXGBE_DEV_ID_82598                      0x10B6
326 #define IXGBE_DEV_ID_82598_BX                   0x1508
327 #define IXGBE_DEV_ID_82598AF_DUAL_PORT          0x10C6
328 #define IXGBE_DEV_ID_82598AF_SINGLE_PORT        0x10C7
329 #define IXGBE_DEV_ID_82598AT                    0x10C8
330 #define IXGBE_DEV_ID_82598AT2                   0x150B
331 #define IXGBE_DEV_ID_82598EB_SFP_LOM            0x10DB
332 #define IXGBE_DEV_ID_82598EB_CX4                0x10DD
333 #define IXGBE_DEV_ID_82598_CX4_DUAL_PORT        0x10EC
334 #define IXGBE_DEV_ID_82598_DA_DUAL_PORT         0x10F1
335 #define IXGBE_DEV_ID_82598_SR_DUAL_PORT_EM      0x10E1
336 #define IXGBE_DEV_ID_82598EB_XF_LR              0x10F4
337 #define IXGBE_DEV_ID_82599_KX4                  0x10F7
338 #define IXGBE_DEV_ID_82599_KX4_MEZZ             0x1514
339 #define IXGBE_DEV_ID_82599_KR                   0x1517
340 #define IXGBE_DEV_ID_82599_COMBO_BACKPLANE      0x10F8
341 #define IXGBE_SUBDEV_ID_82599_KX4_KR_MEZZ       0x000C
342 #define IXGBE_DEV_ID_82599_CX4                  0x10F9
343 #define IXGBE_DEV_ID_82599_SFP                  0x10FB
344 #define IXGBE_SUBDEV_ID_82599_SFP               0x11A9
345 #define IXGBE_SUBDEV_ID_82599_RNDC              0x1F72
346 #define IXGBE_SUBDEV_ID_82599_560FLR            0x17D0
347 #define IXGBE_SUBDEV_ID_82599_ECNA_DP           0x0470
348 #define IXGBE_DEV_ID_82599_BACKPLANE_FCOE       0x152A
349 #define IXGBE_DEV_ID_82599_SFP_FCOE             0x1529
350 #define IXGBE_DEV_ID_82599_SFP_EM               0x1507
351 #define IXGBE_DEV_ID_82599_SFP_SF2              0x154D
352 #define IXGBE_DEV_ID_82599_SFP_SF_QP            0x154A
353 #define IXGBE_DEV_ID_82599EN_SFP                0x1557
354 #define IXGBE_DEV_ID_82599_XAUI_LOM             0x10FC
355 #define IXGBE_DEV_ID_82599_T3_LOM               0x151C
356 #define IXGBE_DEV_ID_X540T                      0x1528
357 #define IXGBE_DEV_ID_X540T1                     0x1560
358
359 RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_82598)
360 RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_82598_BX)
361 RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_82598AF_DUAL_PORT)
362 RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, \
363         IXGBE_DEV_ID_82598AF_SINGLE_PORT)
364 RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_82598AT)
365 RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_82598AT2)
366 RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_82598EB_SFP_LOM)
367 RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_82598EB_CX4)
368 RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_82598_CX4_DUAL_PORT)
369 RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_82598_DA_DUAL_PORT)
370 RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, \
371         IXGBE_DEV_ID_82598_SR_DUAL_PORT_EM)
372 RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_82598EB_XF_LR)
373 RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_82599_KX4)
374 RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_82599_KX4_MEZZ)
375 RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_82599_KR)
376 RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, \
377         IXGBE_DEV_ID_82599_COMBO_BACKPLANE)
378 RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, \
379         IXGBE_SUBDEV_ID_82599_KX4_KR_MEZZ)
380 RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_82599_CX4)
381 RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_82599_SFP)
382 RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, IXGBE_SUBDEV_ID_82599_SFP)
383 RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, IXGBE_SUBDEV_ID_82599_RNDC)
384 RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, IXGBE_SUBDEV_ID_82599_560FLR)
385 RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, IXGBE_SUBDEV_ID_82599_ECNA_DP)
386 RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_82599_BACKPLANE_FCOE)
387 RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_82599_SFP_FCOE)
388 RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_82599_SFP_EM)
389 RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_82599_SFP_SF2)
390 RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_82599_SFP_SF_QP)
391 RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_82599EN_SFP)
392 RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_82599_XAUI_LOM)
393 RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_82599_T3_LOM)
394 RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_X540T)
395 RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_X540T1)
396
397 /****************** Virtual IGB devices from e1000_hw.h ******************/
398
399 #define E1000_DEV_ID_82576_VF                   0x10CA
400 #define E1000_DEV_ID_82576_VF_HV                0x152D
401 #define E1000_DEV_ID_I350_VF                    0x1520
402 #define E1000_DEV_ID_I350_VF_HV                 0x152F
403
404 RTE_PCI_DEV_ID_DECL_IGBVF(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_82576_VF)
405 RTE_PCI_DEV_ID_DECL_IGBVF(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_82576_VF_HV)
406 RTE_PCI_DEV_ID_DECL_IGBVF(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_I350_VF)
407 RTE_PCI_DEV_ID_DECL_IGBVF(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_I350_VF_HV)
408
409 /****************** Virtual IXGBE devices from ixgbe_type.h ******************/
410
411 #define IXGBE_DEV_ID_82599_VF                   0x10ED
412 #define IXGBE_DEV_ID_82599_VF_HV                0x152E
413 #define IXGBE_DEV_ID_X540_VF                    0x1515
414 #define IXGBE_DEV_ID_X540_VF_HV                 0x1530
415
416 RTE_PCI_DEV_ID_DECL_IXGBEVF(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_82599_VF)
417 RTE_PCI_DEV_ID_DECL_IXGBEVF(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_82599_VF_HV)
418 RTE_PCI_DEV_ID_DECL_IXGBEVF(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_X540_VF)
419 RTE_PCI_DEV_ID_DECL_IXGBEVF(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_X540_VF_HV)
420
421 /*
422  * Undef all RTE_PCI_DEV_ID_DECL_* here.
423  */
424 #undef RTE_PCI_DEV_ID_DECL_EM
425 #undef RTE_PCI_DEV_ID_DECL_IGB
426 #undef RTE_PCI_DEV_ID_DECL_IGBVF
427 #undef RTE_PCI_DEV_ID_DECL_IXGBE
428 #undef RTE_PCI_DEV_ID_DECL_IXGBEVF