1 /*
2  * SPDX-FileCopyrightText: Copyright (c) 200-2023 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
3  * SPDX-License-Identifier: MIT
4  *
5  * Permission is hereby granted, free of charge, to any person obtaining a
6  * copy of this software and associated documentation files (the "Software"),
7  * to deal in the Software without restriction, including without limitation
8  * the rights to use, copy, modify, merge, publish, distribute, sublicense,
9  * and/or sell copies of the Software, and to permit persons to whom the
10  * Software is furnished to do so, subject to the following conditions:
11  *
12  * The above copyright notice and this permission notice shall be included in
13  * all copies or substantial portions of the Software.
14  *
15  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16  * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17  * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
18  * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19  * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
20  * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
21  * DEALINGS IN THE SOFTWARE.
22  */
23 
24 #ifndef NVDEVID_H
25 #define NVDEVID_H
26 
27 
28 
29 /**************** Resource Manager Defines and Structures ******************\
30 *                                                                           *
31 *       Private device ids defines  - only       defines !                  *
32 *                                                                           *
33 \***************************************************************************/
34 
35 ///////////////////////////////////////////////////////////////////////////////////////////
36 //
37 // VENDOR/SUBVENDOR IDS
38 // XXX Cleanup to do: change PCI_VENDOR_* to NV_PCI_SUBID_VENDOR_*
39 //
40 ///////////////////////////////////////////////////////////////////////////////////////////
41 #define NV_PCI_SUBID_VENDOR         15:0  /* RW--F */
42 #define NV_PCI_SUBID_VENDOR_AMD           0x1022
43 #define NV_PCI_SUBID_VENDOR_ALI           0x10B9
44 #define NV_PCI_SUBID_VENDOR_NVIDIA        0x10DE
45 #define NV_PCI_SUBID_VENDOR_INTEL         0x8086
46 #define NV_PCI_SUBID_VENDOR_VIA           0x1106
47 #define NV_PCI_SUBID_VENDOR_RCC           0x1166
48 #define NV_PCI_SUBID_VENDOR_MICRON_1      0x1042
49 #define NV_PCI_SUBID_VENDOR_MICRON_2      0x1344
50 #define NV_PCI_SUBID_VENDOR_APPLE         0x106B
51 #define NV_PCI_SUBID_VENDOR_SIS           0x1039
52 #define NV_PCI_SUBID_VENDOR_ATI           0x1002
53 #define NV_PCI_SUBID_VENDOR_TRANSMETA     0x1279
54 #define NV_PCI_SUBID_VENDOR_HP            0x103C
55 #define NV_PCI_SUBID_VENDOR_DELL          0x1028
56 #define NV_PCI_SUBID_VENDOR_FUJITSU       0x10cf
57 #define NV_PCI_SUBID_VENDOR_ASUS          0x1043
58 #define NV_PCI_SUBID_VENDOR_MSI           0x1462
59 #define NV_PCI_SUBID_VENDOR_FOXCONN       0x105B
60 #define NV_PCI_SUBID_VENDOR_ECS           0x1019
61 #define NV_PCI_SUBID_VENDOR_DFI_1         0x106E
62 #define NV_PCI_SUBID_VENDOR_TOSHIBA       0x1179
63 #define NV_PCI_SUBID_VENDOR_DFI_2         0x15BD
64 #define NV_PCI_SUBID_VENDOR_ACER          0x1025
65 #define NV_PCI_SUBID_VENDOR_GIGABYTE      0x1458
66 #define NV_PCI_SUBID_VENDOR_EVGA          0x3842
67 #define NV_PCI_SUBID_VENDOR_BROADCOM      0x1166
68 #define NV_PCI_SUBID_VENDOR_SUPERMICRO    0x15D9
69 #define NV_PCI_SUBID_VENDOR_BIOSTAR       0x1565
70 #define NV_PCI_SUBID_VENDOR_XFX           0x1682
71 #define NV_PCI_SUBID_VENDOR_PCPARTNER     0x19DA
72 #define NV_PCI_SUBID_VENDOR_LENOVO        0x17AA
73 #define NV_PCI_SUBID_VENDOR_FSC           0x1734
74 #define NV_PCI_SUBID_VENDOR_FTS           0x1734
75 #define NV_PCI_SUBID_VENDOR_COLORFUL      0x7377
76 #define NV_PCI_SUBID_VENDOR_ASROCK        0x1849
77 #define NV_PCI_SUBID_VENDOR_SHUTTLE       0x1297
78 #define NV_PCI_SUBID_VENDOR_CLEVO         0x1558
79 #define NV_PCI_SUBID_VENDOR_PEGATRON      0x1B0A
80 #define NV_PCI_SUBID_VENDOR_JETWAY        0x16F3
81 #define NV_PCI_SUBID_VENDOR_HIGHGRADE     0x1C6C
82 #define NV_PCI_SUBID_VENDOR_GALAXY        0x1B4C
83 #define NV_PCI_SUBID_VENDOR_ZOTAC         0x19DA
84 #define NV_PCI_SUBID_VENDOR_ARIMA         0x161F
85 #define NV_PCI_SUBID_VENDOR_BFG           0x19F1
86 #define NV_PCI_SUBID_VENDOR_SONY          0x104D
87 #define NV_PCI_SUBID_VENDOR_BITLAND       0x1642
88 #define NV_PCI_SUBID_VENDOR_PC_PARTNER    0x174B
89 #define NV_PCI_SUBID_VENDOR_CAVIUM        0x177D
90 #define NV_PCI_SUBID_VENDOR_NZXT          0x1D96
91 
92 // XXX CKEANUP TO REMOVE IN FAVOR OF NV_PCI_SUBID_VENDOR_*
93 #define PCI_VENDOR_ID_AMD           0x1022
94 #define PCI_VENDOR_ID_ALI           0x10B9
95 #define PCI_VENDOR_ID_NVIDIA        0x10DE
96 #define PCI_VENDOR_ID_INTEL         0x8086
97 #define PCI_VENDOR_ID_VIA           0x1106
98 #define PCI_VENDOR_ID_RCC           0x1166
99 #define PCI_VENDOR_ID_MICRON_1      0x1042
100 #define PCI_VENDOR_ID_MICRON_2      0x1344
101 #define PCI_VENDOR_ID_APPLE         0x106B
102 #define PCI_VENDOR_ID_SIS           0x1039
103 #define PCI_VENDOR_ID_ATI           0x1002
104 #define PCI_VENDOR_ID_TRANSMETA     0x1279
105 #define PCI_VENDOR_ID_HP            0x103C
106 #define PCI_VENDOR_ID_DELL          0x1028
107 #define PCI_VENDOR_ID_FUJITSU       0x10cf
108 #define PCI_VENDOR_ID_ASUS          0x1043
109 #define PCI_VENDOR_ID_MSI           0x1462
110 #define PCI_VENDOR_ID_FOXCONN       0x105B
111 #define PCI_VENDOR_ID_ECS           0x1019
112 #define PCI_VENDOR_ID_DFI_1         0x106E
113 #define PCI_VENDOR_ID_TOSHIBA       0x1179
114 #define PCI_VENDOR_ID_DFI_2         0x15BD
115 #define PCI_VENDOR_ID_ACER          0x1025
116 #define PCI_VENDOR_ID_GIGABYTE      0x1458
117 #define PCI_VENDOR_ID_EVGA          0x3842
118 #define PCI_VENDOR_ID_BROADCOM      0x1166
119 #define PCI_VENDOR_ID_SUPERMICRO    0x15D9
120 #define PCI_VENDOR_ID_BIOSTAR       0x1565
121 #define PCI_VENDOR_ID_XFX           0x1682
122 #define PCI_VENDOR_ID_PCPARTNER     0x19DA
123 #define PCI_VENDOR_ID_LENOVO        0x17AA
124 #define PCI_VENDOR_ID_FSC           0x1734
125 #define PCI_VENDOR_ID_FTS           0x1734
126 #define PCI_VENDOR_ID_COLORFUL      0x7377
127 #define PCI_VENDOR_ID_ASROCK        0x1849
128 #define PCI_VENDOR_ID_SHUTTLE       0x1297
129 #define PCI_VENDOR_ID_CLEVO         0x1558
130 #define PCI_VENDOR_ID_PEGATRON      0x1B0A
131 #define PCI_VENDOR_ID_JETWAY        0x16F3
132 #define PCI_VENDOR_ID_HIGHGRADE     0x1C6C
133 #define PCI_VENDOR_ID_GALAXY        0x1B4C
134 #define PCI_VENDOR_ID_ZOTAC         0x19DA
135 #define PCI_VENDOR_ID_ARIMA         0x161F
136 #define PCI_VENDOR_ID_PC_PARTNER    0x174B
137 #define PCI_VENDOR_ID_APM           0x10E8
138 #define PCI_VENDOR_ID_IBM           0x1014
139 #define PCI_VENDOR_ID_NZXT          0x1D96
140 #define PCI_VENDOR_ID_MARVELL       0x177D
141 #define PCI_VENDOR_ID_REDHAT        0x1B36
142 #define PCI_VENDOR_ID_AMPERE        0x1DEF
143 #define PCI_VENDOR_ID_HUAWEI        0x19E5
144 #define PCI_VENDOR_ID_MELLANOX      0x15B3
145 #define PCI_VENDOR_ID_AMAZON        0x1D0F
146 #define PCI_VENDOR_ID_CADENCE       0x17CD
147 #define PCI_VENDOR_ID_ARM           0x13B5
148 #define PCI_VENDOR_ID_HYGON         0x1D94
149 #define PCI_VENDOR_ID_ALIBABA       0x1DED
150 #define PCI_VENDOR_ID_SIFIVE        0xF15E
151 #define PCI_VENDOR_ID_PLDA          0x1556
152 #define PCI_VENDOR_ID_PHYTIUM       0x1DB7
153 
154 #define NV_PCI_DEVID_DEVICE                    31:16  /* RW--F */
155 #define NV_PCI_SUBID_DEVICE                    31:16  /* RW--F */
156 
157 ///////////////////////////////////////////////////////////////////////////////////////////
158 //
159 // GPU DEVICE IDS
160 //
161 ///////////////////////////////////////////////////////////////////////////////////////////
162 
163 #define NV_PCI_DEVID_DEVICE_PG171_SKU200_PG179_SKU220 0x25B6 /* NVIDIA A16 / NVIDIA A2 */
164 #define NV_PCI_DEVID_DEVICE_PG189_SKU600              0x1EBA
165 
166 ///////////////////////////////////////////////////////////////////////////////////////////
167 //
168 // SUBDEVICE IDs
169 //
170 ///////////////////////////////////////////////////////////////////////////////////////////
171 
172 // A16
173 #define NV_PCI_SUBID_DEVICE_PG171_SKU200             0x14A9
174 
175 ///////////////////////////////////////////////////////////////////////////////////////////
176 //
177 // CHIPSET IDs
178 //
179 ///////////////////////////////////////////////////////////////////////////////////////////
180 // Desktop flavor of X58
181 #define X58_DESKTOP_DEVIDS                  0x3400, 0x3405
182 // Mobile version of X58
183 #define X58_MOBILE_DEVID                    0x3405
184 #define X58_MOBILE_CLEVO_7200_SSDEVID       0x7200
185 
186 // Sandy bridge CLEVO platform
187 #define SANDYBRIDGE_P180HM_SSDEVID          0x8000
188 #define SandyBridge_E_X79_P270WM_SSDEVID    0x270
189 #define IvyBridge_Z75_P370EM_SSDEVID        0x371
190 
191 // Device ID's of Devices present on Patsburg's PCIE bus.
192 #define PATSBURG_PCIE_DEVICE_MIN_DEVID      0x1D10
193 #define PATSBURG_PCIE_DEVICE_MAX_DEVID      0x1D1F
194 #define PATSBURG_PCIE_DEVICE_DEVID          0x244E
195 
196 //Tylersburg Congurations
197 #define TYLERSBURG_DEVID                    0x3406
198 
199 // Intel Barlow Ridge TB5 device IDs
200 #define DEVICE_ID_INTEL_BARLOW_RIDGE_5786_EGPU     0x5786
201 #define DEVICE_ID_INTEL_BARLOW_RIDGE_57A4_EGPU     0x57A4
202 
203 // Intel Grantsdale definitions
204 #define DEVICE_ID_INTEL_2580_HOST_BRIDGE    0x2580
205 #define DEVICE_ID_INTEL_2581_ROOT_PORT      0x2581
206 
207 // Intel Alderwood definitions
208 #define DEVICE_ID_INTEL_2584_HOST_BRIDGE    0x2584
209 #define DEVICE_ID_INTEL_2585_ROOT_PORT      0x2585
210 
211 // Intel Alviso definitions
212 #define DEVICE_ID_INTEL_2590_HOST_BRIDGE    0x2590
213 #define DEVICE_ID_INTEL_2591_ROOT_PORT      0x2591
214 
215 // Intel Tumwater definitions
216 #define DEVICE_ID_INTEL_359E_HOST_BRIDGE    0x359E
217 #define DEVICE_ID_INTEL_3597_ROOT_PORT      0x3597
218 
219 // Intel Stoakley definitions
220 #define INTEL_4000_SUBDEVICE_ID             0x021D
221 
222 // Intel SkullTrail definitions
223 #define INTEL_4003_SUBDEVICE_ID             0x5358
224 
225 // Intel Core I7 CPU
226 #define INTEL_QUICKPATH_SYSTEM_ADDRESS_DECODER_I7   0x2C01
227 
228 // Intel Core I5 CPU Lynnfield
229 #define INTEL_QUICKPATH_SYSTEM_ADDRESS_DECODER_I5_L 0x2C81
230 #define INTEL_LYNNFIELD_ROOTPORT_CPU1               0xD138
231 #define INTEL_LYNNFIELD_ROOTPORT_CPU2               0xD13A
232 
233 // Intel Core I5 CPU Auburndale
234 #define INTEL_QUICKPATH_SYSTEM_ADDRESS_DECODER_I5_A 0x2D41
235 
236 // Intel Core I5 CPU 650
237 #define INTEL_QUICKPATH_SYSTEM_ADDRESS_DECODER_I5_6 0x2D01
238 
239 // Intel Poulsbo definitions
240 #define DEVICE_ID_INTEL_8100_HOST_BRIDGE    0x8100
241 #define DEVICE_ID_INTEL_8110_ROOT_PORT      0x8110
242 #define DEVICE_ID_INTEL_8112_ROOT_PORT      0x8112
243 
244 // Intel TunnelCreek definitions
245 #define DEVICE_ID_INTEL_8180_ROOT_PORT      0x8180
246 #define DEVICE_ID_INTEL_8181_ROOT_PORT      0x8181
247 #define DEVICE_ID_INTEL_8184_ROOT_PORT      0x8184
248 #define DEVICE_ID_INTEL_8185_ROOT_PORT      0x8185
249 
250 // Intel I/O Hub definitions
251 #define DEVICE_ID_INTEL_3408_ROOT_PORT      0x3408
252 #define DEVICE_ID_INTEL_3411_ROOT_PORT      0x3411
253 #define DEVICE_ID_INTEL_3420_ROOT_PORT      0x3420
254 #define DEVICE_ID_INTEL_3421_ROOT_PORT      0x3421
255 
256 // Intel SandyBridge IIO definitions
257 #define DEVICE_ID_INTEL_3C02_ROOT_PORT      0x3c02
258 #define DEVICE_ID_INTEL_3C03_ROOT_PORT      0x3c03
259 #define DEVICE_ID_INTEL_3C04_ROOT_PORT      0x3c04
260 #define DEVICE_ID_INTEL_3C05_ROOT_PORT      0x3c05
261 #define DEVICE_ID_INTEL_3C06_ROOT_PORT      0x3c06
262 #define DEVICE_ID_INTEL_3C07_ROOT_PORT      0x3c07
263 #define DEVICE_ID_INTEL_3C08_ROOT_PORT      0x3c08
264 #define DEVICE_ID_INTEL_3C09_ROOT_PORT      0x3c09
265 #define DEVICE_ID_INTEL_3C0A_ROOT_PORT      0x3c0a
266 #define DEVICE_ID_INTEL_3C0B_ROOT_PORT      0x3c0b
267 
268 // Intel Haswell-E definitions
269 #define DEVICE_ID_INTEL_2F00_HOST_BRIDGE    0x2f00
270 #define DEVICE_ID_INTEL_2F01_ROOT_PORT      0x2f01
271 #define DEVICE_ID_INTEL_2F02_ROOT_PORT      0x2f02
272 #define DEVICE_ID_INTEL_2F03_ROOT_PORT      0x2f03
273 #define DEVICE_ID_INTEL_2F04_ROOT_PORT      0x2f04
274 #define DEVICE_ID_INTEL_2F05_ROOT_PORT      0x2f05
275 #define DEVICE_ID_INTEL_2F06_ROOT_PORT      0x2f06
276 #define DEVICE_ID_INTEL_2F07_ROOT_PORT      0x2f07
277 #define DEVICE_ID_INTEL_2F08_ROOT_PORT      0x2f08
278 #define DEVICE_ID_INTEL_2F09_ROOT_PORT      0x2f09
279 #define DEVICE_ID_INTEL_2F0A_ROOT_PORT      0x2f0a
280 #define DEVICE_ID_INTEL_2F0B_ROOT_PORT      0x2f0b
281 
282 #define DEVICE_ID_INTEL_0C01_ROOT_PORT      0x0c01
283 
284 // Intel IvyTown definitions
285 
286 #define DEVICE_ID_INTEL_0E02_ROOT_PORT      0x0e02
287 #define DEVICE_ID_INTEL_0E03_ROOT_PORT      0x0e03
288 #define DEVICE_ID_INTEL_0E04_ROOT_PORT      0x0e04
289 #define DEVICE_ID_INTEL_0E05_ROOT_PORT      0x0e05
290 #define DEVICE_ID_INTEL_0E06_ROOT_PORT      0x0e06
291 #define DEVICE_ID_INTEL_0E07_ROOT_PORT      0x0e07
292 #define DEVICE_ID_INTEL_0E08_ROOT_PORT      0x0e08
293 #define DEVICE_ID_INTEL_0E09_ROOT_PORT      0x0e09
294 #define DEVICE_ID_INTEL_0E0A_ROOT_PORT      0x0e0a
295 #define DEVICE_ID_INTEL_0E0B_ROOT_PORT      0x0e0b
296 // Intel Ivy Bridge E definitions
297 #define DEVICE_ID_INTEL_0E00_HOST_BRIDGE    0x0E00
298 
299 // Intel PCH definitions
300 #define DEVICE_ID_INTEL_9D10_PCH_BRIDGE     0x9d10
301 #define DEVICE_ID_INTEL_9D18_PCH_BRIDGE     0x9d18
302 #define DEVICE_ID_INTEL_A117_PCH_BRIDGE     0xa117
303 #define DEVICE_ID_INTEL_A118_PCH_BRIDGE     0xa118
304 #define DEVICE_ID_INTEL_9C98_PCH_BRIDGE     0x9c98
305 
306 // Intel Broadwell definitions
307 #define DEVICE_ID_INTEL_6F00_HOST_BRIDGE    0x6f00
308 #define DEVICE_ID_INTEL_6F01_ROOT_PORT      0x6f01
309 #define DEVICE_ID_INTEL_6F02_ROOT_PORT      0x6f02
310 #define DEVICE_ID_INTEL_6F03_ROOT_PORT      0x6f03
311 #define DEVICE_ID_INTEL_6F04_ROOT_PORT      0x6f04
312 #define DEVICE_ID_INTEL_6F05_ROOT_PORT      0x6f05
313 #define DEVICE_ID_INTEL_6F06_ROOT_PORT      0x6f06
314 #define DEVICE_ID_INTEL_6F07_ROOT_PORT      0x6f07
315 #define DEVICE_ID_INTEL_6F08_ROOT_PORT      0x6f08
316 #define DEVICE_ID_INTEL_6F09_ROOT_PORT      0x6f09
317 #define DEVICE_ID_INTEL_6F0A_ROOT_PORT      0x6f0A
318 #define DEVICE_ID_INTEL_6F0B_ROOT_PORT      0x6f0B
319 #define DEVICE_ID_INTEL_1601_ROOT_PORT                  0x1601
320 #define DEVICE_ID_INTEL_1605_ROOT_PORT                  0x1605
321 #define DEVICE_ID_INTEL_1609_ROOT_PORT                  0x1609
322 #define DEVICE_ID_INTEL_BROADWELL_U_HOST_BRIDGE         0x1604
323 #define DEVICE_ID_INTEL_BROADWELL_H_HOST_BRIDGE         0x1614
324 
325 // Intel Skylake definitions
326 #define DEVICE_ID_INTEL_1901_ROOT_PORT                  0x1901
327 #define DEVICE_ID_INTEL_1905_ROOT_PORT                  0x1905
328 #define DEVICE_ID_INTEL_1909_ROOT_PORT                  0x1909
329 #define DEVICE_ID_INTEL_SKYLAKE_U_HOST_BRIDGE           0x1904
330 #define DEVICE_ID_INTEL_SKYLAKE_S_HOST_BRIDGE           0x191F
331 #define DEVICE_ID_INTEL_SKYLAKE_H_HOST_BRIDGE           0x1910
332 
333 // Intel Skylake-E definitions
334 #define DEVICE_ID_INTEL_2030_ROOT_PORT                  0x2030
335 #define DEVICE_ID_INTEL_2033_ROOT_PORT                  0x2033
336 
337 // Intel Kabylake definitions
338 #define DEVICE_ID_INTEL_KABYLAKE_U_HOST_BRIDGE          0x5904
339 #define DEVICE_ID_INTEL_KABYLAKE_H_HOST_BRIDGE          0x5910
340 
341 // AMD Matisse, Rome definitions
342 #define DEVICE_ID_AMD_1483_ROOT_PORT        0x1483
343 // AMD Castle Peak definition
344 #define DEVICE_ID_AMD_1480_ROOT_PORT        0x1480
345 // AMD Renoir-H definition
346 #define DEVICE_ID_AMD_1630_ROOT_PORT        0x1630
347 
348 // Dell SkullTrail definitions
349 #define DELL_4003_SUBDEVICE_ID              0x021D
350 
351 // Dell Quicksilver MLK definitions
352 #define DELL_0040_SUBDEVICE_ID              0x043a
353 
354 // HP Tylersburg definitions
355 #define TYLERSBURG_Z800_SSDEVID             0x130B
356 
357 // HP Romley definitions
358 #define ROMLEY_Z820_SSDEVID                 0x158B
359 #define ROMLEY_Z620_SSDEVID                 0x158A
360 #define ROMLEY_Z420_SSDEVID                 0x1589
361 
362 // HP Grantley definitions
363 #define GRANTLEY_Z840_SSDEVID               0x2129
364 #define GRANTLEY_Z640_SSDEVID               0x212A
365 #define GRANTLEY_Z440_SSDEVID               0x212B
366 
367 // HP PURELY definitions
368 #define HP_QUADRO_Z4GEN4_DEVID              0xA2D2
369 #define PURLEY_Z8GEN4_SSDEVID               0x81C7
370 #define PURLEY_Z6GEN4_SSDEVID               0x81C6
371 #define PURLEY_Z4GEN4_SSDEVID               0x81C5
372 
373 // Lenovo Romley definitions
374 #define ROMLEY_C30_SSDEVID                  0x1028
375 #define ROMLEY_D30_SSDEVID                  0x1027
376 #define ROMLEY_S30_SSDEVID                  0x1026
377 
378 // Dell Romley definitions
379 #define ROMLEY_T7600_SSDEVID                0x0495
380 #define ROMLEY_T5600_SSDEVID                0x0496
381 #define ROMLEY_T3600_SSDEVID                0x0497
382 
383 // Dell Romley + IVB-EP CPU Refresh
384 #define IVYTOWN_T7610_SSDEVID               0x05D4
385 #define IVYTOWN_T5610_SSDEVID               0x05D3
386 
387 // Dell Romley (Ipanema)
388 #define ROMLEY_R7610_SSDEVID                0x05A1
389 
390 // FTS Romley definitions
391 #define ROMLEY_R920_SSDEVID                 0x11B6
392 
393 // Lenovo Grantley (Messi, Pele, Ronaldo)
394 #define GRANTLEY_V40_SSDEVID                0x1031
395 #define GRANTLEY_D40_SSDEVID                0x1030
396 #define GRANTLEY_S40_SSDEVID                0x102F
397 
398 // Dell Grantley (Avalon)
399 #define GRANTLEY_T7810_SSDEVID              0x0618
400 #define GRANTLEY_T7910_SSDEVID              0x0619
401 
402 // Lenovo Purley (Nile, Volga)
403 #define PURLEY_P920_SSDEVID                 0x1038
404 #define PURLEY_P720_SSDEVID                 0x1037
405 #define PURLEY_P520_SSDEVID                 0x1036
406 
407 // Dell Purley(Matira)
408 #define PURLEY_MATIRA3X_DEVID               0xA2D2
409 #define PURLEY_MATIRA3X_SSDEVID             0x08B1
410 #define PURLEY_MATIRA3_SSDEVID              0x0738
411 #define PURLEY_MATIRA5_SSDEVID              0x0739
412 #define PURLEY_MATIRA7_SSDEVID              0x073A
413 
414 //FTS Purley
415 #define PURLEY_R970_SSDEVID                 0x1230
416 #define PURLEY_M770_SSDEVID                 0x1231
417 
418 // HP Arrandale, Clarksfield, X58 workstation definitions
419 #define ARRANDALE_Z200SFF_SSDEVID           0x304A
420 #define CLARKSFIELD_Z200_SSDEVID            0x170B
421 #define X58_Z400_SSDEVID                    0x1309
422 
423 // GIGABYTE Sniper 3 (Z77)
424 #define GIGABYTE_SNIPER_3_SSDEVID_1         0x5000
425 #define GIGABYTE_SNIPER_3_SSDEVID_2         0x5001
426 
427 // Supermicro Quadro VCA definitions
428 #define SUPERMICRO_QUADRO_VCA_DEVID         0x8D44
429 #define SUPERMICRO_QUADRO_VCA_SSDEVID       0x7270
430 
431 // Asus Quadro BOXX definitions
432 #define ASUS_QUADRO_BOXX_DEVID              0x8D44
433 #define ASUS_QUADRO_BOXX_SSDEVID            0x85F6
434 
435 // APEXX8 Quadro BOXX definitions
436 #define APEXX8_QUADRO_BOXX_DEVID            0xA2D3
437 #define APEXX8_QUADRO_BOXX_SSDEVID          0x098e
438 
439 // APEXX5 Quadro BOXX definitions
440 #define APEXX5_QUADRO_BOXX_DEVID            0xA2D3
441 #define APEXX5_QUADRO_BOXX_SSDEVID          0x1000
442 
443 // ASUS X99-E-10G
444 #define ASUS_X99_E_10G_SSDEVID              0x8600
445 
446 // VIA definitions
447 #define DEVICE_ID_VIA_VT8369B_HOST_BRIDGE   0x0308
448 
449 // Foxconn Einstein 64 [8086:a1c1][105b:7270]
450 #define FOXCONN_EINSTEIN_64_DEVID           0xA1C1
451 #define FOXCONN_EINSTEIN_64_SSDEVID         0x7270
452 
453 // Cavium, Inc. CN99xx [ThunderX2]  [177d:af00]
454 #define CAVIUM_X2_DEVID                     0xAF00
455 
456 // Lenovo Tomcat/Falcon/Hornet Workstations
457 #define LENOVO_TOMCAT_DEVID                 0x1B81
458 #define LENOVO_TOMCAT_SSDEVID               0x104e
459 #define LENOVO_FALCON_DEVID                 0x7A8A
460 #define LENOVO_FALCON_SSDEVID               0x1055
461 #define LENOVO_HORNET_DEVID                 0x7A8A
462 #define LENOVO_HORNET_SSDEVID               0x1056
463 
464 // NVIDIA C51
465 #define NVIDIA_C51_DEVICE_ID_MIN                        0x2F0
466 #define NVIDIA_C51_ULDT_CFG_0_DEVICE_ID_0               0x2F0
467 #define NVIDIA_C51_ULDT_CFG_0_DEVICE_ID_1               0x2F1
468 #define NVIDIA_C51_ULDT_CFG_0_DEVICE_ID_2               0x2F2
469 #define NVIDIA_C51_ULDT_CFG_0_DEVICE_ID_3               0x2F3
470 #define NVIDIA_C51_ULDT_CFG_0_DEVICE_ID_IGPU_DISABLE_0  0x2F4
471 #define NVIDIA_C51_ULDT_CFG_0_DEVICE_ID_IGPU_DISABLE_1  0x2F5
472 #define NVIDIA_C51_ULDT_CFG_0_DEVICE_ID_IGPU_DISABLE_2  0x2F6
473 #define NVIDIA_C51_ULDT_CFG_0_DEVICE_ID_IGPU_DISABLE_3  0x2F7
474 #define NVIDIA_C51_DEVICE_ID_MAX                        0x2F7
475 
476 // NVIDIA MCP55
477 #define NVIDIA_MCP55_ULDT_CFG_0_DEVICE_ID_DEFAULT      0x0369
478 
479 // NVIDIA MCP61
480 #define NVIDIA_MCP61_ULDT_CFG_0_DEVICE_ID_DEFAULT      0x03EA
481 #define NVIDIA_MCP61_ULDT_CFG_0_DEVICE_ID_PA           0x03E2
482 
483 // NVIDIA C55
484 #define NVIDIA_C55_CPU_PCI_0_DEVICE_ID_PRO             0x03A0
485 #define NVIDIA_C55_CPU_PCI_0_DEVICE_ID_PRO             0x03A0
486 #define NVIDIA_C55_CPU_PCI_0_DEVICE_ID_SLIX16          0x03A1
487 #define NVIDIA_C55_CPU_PCI_0_DEVICE_ID_SLI             0x03A3
488 #define NVIDIA_C55_CPU_PCI_0_DEVICE_ID_U               0x03A2
489 
490 // NVIDIA MCP65
491 #define NVIDIA_MCP65_ULDT_CFG_0_DEVICE_ID_DEFAULT      0x0444
492 
493 // NVIDIA MCP67/MCP68
494 #define NVIDIA_MCP67_ULDT_CFG_0_DEVICE_ID_DEFAULT      0x0547
495 
496 // NVIDIA MCP73
497 #define NVIDIA_MCP73_CPU_PCI_0_DEVICE_ID_PV            0x07C0
498 #define NVIDIA_MCP73_CPU_PCI_0_DEVICE_ID_O             0x07C1
499 #define NVIDIA_MCP73_CPU_PCI_0_DEVICE_ID_S             0x07C2
500 #define NVIDIA_MCP73_CPU_PCI_0_DEVICE_ID_V             0x07C3
501 #define NVIDIA_MCP73_CPU_PCI_0_DEVICE_ID_RSVD_0        0x07C4
502 #define NVIDIA_MCP73_CPU_PCI_0_DEVICE_ID_RSVD_1        0x07C5
503 #define NVIDIA_MCP73_CPU_PCI_0_DEVICE_ID_RSVD_2        0x07C6
504 #define NVIDIA_MCP73_CPU_PCI_0_DEVICE_ID_D             0x07C7
505 
506 // NVIDIA C73
507 #define NVIDIA_C73_CPU_PCI_0_DEVICE_ID_SLI2            0x0800
508 #define NVIDIA_C73_CPU_PCI_0_DEVICE_ID_SLI_ALL         0x0801
509 #define NVIDIA_C73_CPU_PCI_0_DEVICE_ID_SLIX8           0x0802
510 #define NVIDIA_C73_CPU_PCI_0_DEVICE_ID_U               0x0803
511 #define NVIDIA_C73_CPU_PCI_0_DEVICE_ID_RESERVED_0      0x0804
512 #define NVIDIA_C73_CPU_PCI_0_DEVICE_ID_RESERVED_1      0x0805
513 #define NVIDIA_C73_CPU_PCI_0_DEVICE_ID_RESERVED_2      0x0806
514 #define NVIDIA_C73_CPU_PCI_0_DEVICE_ID_RESERVED_3      0x0807
515 
516 // NVIDIA MCP77/78
517 #define NVIDIA_MCP77_ULDT_CFG_0_DEVICE_ID_DEFAULT      0x0754
518 #define NVIDIA_MCP77_ULDT_CFG_0_DEVICE_ID_1            0x0755
519 #define NVIDIA_MCP77_ULDT_CFG_0_DEVICE_ID_2            0x0756
520 #define NVIDIA_MCP77_ULDT_CFG_0_DEVICE_ID_3            0x0757
521 #define NVIDIA_MCP77_MCP_SM_CFG_0_DEVICE_ID_UNIT_SM    0x0752
522 
523 // NVIDIA MCP79/7A
524 #define NVIDIA_MCP79_CPU_PCI_0_DEVICE_ID_DEFAULT       0x0A80
525 #define NVIDIA_MCP79_CPU_PCI_0_DEVICE_ID_SLIX16        0x0A81
526 #define NVIDIA_MCP79_CPU_PCI_0_DEVICE_ID_SLI           0x0A82
527 #define NVIDIA_MCP79_CPU_PCI_0_DEVICE_ID_U             0x0A83
528 #define NVIDIA_MCP79_CPU_PCI_0_DEVICE_ID_GM            0x0A84
529 #define NVIDIA_MCP79_CPU_PCI_0_DEVICE_ID_GVM           0x0A85
530 #define NVIDIA_MCP79_MCP_SM_CFG_0_DEVICE_ID_UNIT_SM    0x0AA2
531 
532 // NVIDIA MCP89/P83
533 #define NVIDIA_MCP89_CPU_PCI_0_DEVICE_ID_DEFAULT   0x00000D60
534 
535 ///////////////////////////////////////////////////////////////////////////////////////////
536 //
537 // enumeration of chipset families
538 //
539 ///////////////////////////////////////////////////////////////////////////////////////////
540 
541 enum {
542       CS_UNKNOWN      = 0x0000,
543       CS_UNKNOWN_PCIE = 0x1000
544 ,     CS_INTEL_2580
545 ,     CS_INTEL_2584
546 ,     CS_INTEL_2588
547 ,     CS_INTEL_2590
548 ,     CS_INTEL_25E0
549 ,     CS_INTEL_29X0
550 ,     CS_INTEL_29E0
551 ,     CS_INTEL_359E
552 ,     CS_INTEL_4000
553 ,     CS_INTEL_4003
554 ,     CS_INTEL_3400
555 ,     CS_INTEL_3B42
556 ,     CS_INTEL_2770
557 ,     CS_INTEL_2774
558 ,     CS_INTEL_277C
559 ,     CS_INTEL_2A40
560 ,     CS_INTEL_2E00
561 ,     CS_INTEL_0040
562 ,     CS_INTEL_1C10
563 ,     CS_INTEL_1C46
564 ,     CS_INTEL_1C49
565 ,     CS_INTEL_1D40
566 ,     CS_INTEL_8D47
567 ,     CS_INTEL_1E10
568 ,     CS_INTEL_8C4B
569 ,     CS_INTEL_8CC4
570 ,     CS_INTEL_A145
571 ,     CS_INTEL_A2C5
572 ,     CS_INTEL_A242
573 ,     CS_INTEL_A2D2
574 ,     CS_INTEL_A2C9
575 ,     CS_INTEL_A301
576 ,     CS_INTEL_0685
577 ,     CS_INTEL_4381
578 ,     CS_INTEL_7A82
579 ,     CS_NVIDIA_CK804
580 ,     CS_NVIDIA_C19
581 ,     CS_NVIDIA_C51
582 ,     CS_NVIDIA_MCP55
583 ,     CS_NVIDIA_MCP61
584 ,     CS_NVIDIA_C55
585 ,     CS_NVIDIA_MCP65
586 ,     CS_NVIDIA_MCP67
587 ,     CS_NVIDIA_MCP73
588 ,     CS_NVIDIA_C73
589 ,     CS_NVIDIA_MCP77
590 ,     CS_NVIDIA_MCP79
591 ,     CS_NVIDIA_MCP89
592 ,     CS_NVIDIA_TEGRA3
593 ,     CS_SIS_649
594 ,     CS_SIS_656
595 ,     CS_ATI_RS400
596 ,     CS_ATI_RS400_A21
597 ,     CS_ATI_RS480
598 ,     CS_ATI_RS480_A21
599 ,     CS_AMD_RS780
600 ,     CS_VIA_VT8369B
601 ,     CS_ATI_FX790
602 ,     CS_ATI_RD850
603 ,     CS_ATI_RD870
604 ,     CS_ATI_RD890
605 ,     CS_ATI_FX890
606 ,     CS_ATI_RX780
607 ,     CS_ATI_FX990
608 ,     CS_AMD_GX890
609 ,     CS_AMD_X370
610 ,     CS_VIA_VX900
611 ,     CS_APM_STORM
612 ,     CS_IBM_VENICE
613 ,     CS_NVIDIA_T124
614 ,     CS_NVIDIA_T210
615 ,     CS_NVIDIA_T186
616 ,     CS_NVIDIA_T194
617 ,     CS_NVIDIA_T234
618 ,     CS_NVIDIA_T23x
619 ,     CS_NVIDIA_TH500
620 ,     CS_MARVELL_THUNDERX2
621 ,     CS_REDHAT_QEMU
622 ,     CS_AMPERE_EMAG
623 ,     CS_HUAWEI_KUNPENG920
624 ,     CS_MELLANOX_BLUEFIELD
625 ,     CS_AMAZON_GRAVITRON2
626 ,     CS_FUJITSU_A64FX
627 ,     CS_AMPERE_ALTRA
628 ,     CS_ARM_NEOVERSEN1
629 ,     CS_MARVELL_OCTEON_CN96XX
630 ,     CS_MARVELL_OCTEON_CN98XX
631 ,     CS_INTEL_C620
632 ,     CS_HYGON_C86
633 ,     CS_PHYTIUM_S2500
634 ,     CS_MELLANOX_BLUEFIELD2
635 ,     CS_MELLANOX_BLUEFIELD3
636 ,     CS_ALIBABA_YITIAN
637 ,     CS_INTEL_1B81
638 ,     CS_INTEL_18DC
639 ,     CS_INTEL_7A04
640 ,     CS_INTEL_5795
641 ,     CS_SIFIVE_FU740_C000
642 ,     CS_PLDA_XPRESSRICH_AXI_REF
643 ,     CS_AMPERE_AMPEREONE
644 ,     CS_PHYTIUM_S5000
645 ,     CS_MAX_PCIE
646 };
647 
648 enum {
649     RP_UNKNOWN = 0
650 ,   RP_BROADCOM_HT2100
651 ,   RP_INTEL_2581
652 ,   RP_INTEL_2585
653 ,   RP_INTEL_2589
654 ,   RP_INTEL_2591
655 ,   RP_INTEL_3597
656 ,   RP_INTEL_2775
657 ,   RP_INTEL_2771
658 ,   RP_INTEL_8110
659 ,   RP_INTEL_8112
660 ,   RP_INTEL_8180
661 ,   RP_INTEL_8181
662 ,   RP_INTEL_8184
663 ,   RP_INTEL_8185
664 ,   RP_INTEL_3C02
665 ,   RP_INTEL_3C03
666 ,   RP_INTEL_3C04
667 ,   RP_INTEL_3C05
668 ,   RP_INTEL_3C06
669 ,   RP_INTEL_3C07
670 ,   RP_INTEL_3C08
671 ,   RP_INTEL_3C09
672 ,   RP_INTEL_3C0A
673 ,   RP_INTEL_3C0B
674 ,   RP_INTEL_2F04
675 ,   RP_INTEL_2F08
676 ,   RP_INTEL_0C01
677 ,   RP_INTEL_1601
678 ,   RP_INTEL_1605
679 ,   RP_INTEL_1609
680 ,   RP_INTEL_1901
681 ,   RP_INTEL_1905
682 ,   RP_INTEL_1909
683 ,   RP_INTEL_5904
684 ,   RP_NVIDIA_CK804
685 ,   RP_NVIDIA_C19
686 ,   RP_NVIDIA_C51
687 ,   RP_NVIDIA_MCP55
688 ,   RP_NVIDIA_MCP61
689 ,   RP_NVIDIA_C55
690 ,   RP_NVIDIA_MCP65
691 };
692 
693 #endif //NVDEVID_H
694 
695