1 /** @file
2   The file lists the PCI class codes only defined in PCI code and ID assignment specification
3   revision 1.3.
4 
5   Copyright (c) 2012 - 2018, Intel Corporation. All rights reserved.<BR>
6   SPDX-License-Identifier: BSD-2-Clause-Patent
7 
8 **/
9 
10 #ifndef __PCI_CODE_ID_H__
11 #define __PCI_CODE_ID_H__
12 
13 
14 ///
15 /// PCI_CLASS_MASS_STORAGE, Base Class 01h.
16 ///
17 ///@{
18 #define   PCI_IF_MASS_STORAGE_SCSI_VENDOR_SPECIFIC          0x00
19 #define   PCI_IF_MASS_STORAGE_SCSI_DEVICE_PQI               0x11
20 #define   PCI_IF_MASS_STORAGE_SCSI_CONTROLLER_PQI           0x12
21 #define   PCI_IF_MASS_STORAGE_SCSI_DEVICE_CONTROLLER_PQI    0x13
22 #define   PCI_IF_MASS_STORAGE_SCSI_DEVICE_NVM_EXPRESS       0x21
23 #define   PCI_IF_MASS_STORAGE_SATA_SERIAL_BUS               0x02
24 #define PCI_CLASS_MASS_STORAGE_SAS                        0x07
25 #define   PCI_IF_MASS_STORAGE_SAS                           0x00
26 #define   PCI_IF_MASS_STORAGE_SAS_SERIAL_BUS                0x01
27 #define PCI_CLASS_MASS_STORAGE_SOLID_STATE                0x08
28 #define   PCI_IF_MASS_STORAGE_SOLID_STATE                   0x00
29 #define   PCI_IF_MASS_STORAGE_SOLID_STATE_NVMHCI            0x01
30 #define   PCI_IF_MASS_STORAGE_SOLID_STATE_ENTERPRISE_NVMHCI 0x02
31 ///@}
32 
33 ///
34 /// PCI_CLASS_NETWORK, Base Class 02h.
35 ///
36 ///@{
37 #define PCI_CLASS_NETWORK_INFINIBAND   0x07
38 ///@}
39 
40 ///
41 /// PCI_CLASS_MEDIA, Base Class 04h.
42 ///
43 ///@{
44 #define PCI_CLASS_MEDIA_MIXED_MODE   0x03
45 ///@}
46 
47 ///
48 /// PCI_CLASS_BRIDGE, Base Class 06h.
49 ///
50 ///@{
51 #define PCI_CLASS_BRIDGE_ADVANCED_SWITCHING_TO_PCI      0x0B
52 #define   PCI_IF_BRIDGE_ADVANCED_SWITCHING_TO_PCI_CUSTOM  0x00
53 #define   PCI_IF_BRIDGE_ADVANCED_SWITCHING_TO_PCI_ASI_SIG 0x01
54 ///@}
55 
56 ///
57 /// PCI_CLASS_SYSTEM_PERIPHERAL, Base Class 08h.
58 ///
59 ///@{
60 #define   PCI_IF_HPET                 0x03
61 #define PCI_SUBCLASS_SD_HOST_CONTROLLER 0x05
62 #define PCI_SUBCLASS_IOMMU              0x06
63 ///@}
64 
65 ///
66 /// PCI_CLASS_PROCESSOR, Base Class 0Bh.
67 ///
68 ///@{
69 #define PCI_SUBCLASS_PROC_OTHER 0x80
70 ///@}
71 
72 ///
73 /// PCI_CLASS_SERIAL, Base Class 0Ch.
74 ///
75 ///@{
76 #define   PCI_IF_XHCI             0x30
77 #define PCI_CLASS_SERIAL_OTHER  0x80
78 ///@}
79 
80 ///
81 /// PCI_CLASS_SATELLITE, Base Class 0Fh.
82 ///
83 ///@{
84 #define PCI_SUBCLASS_SATELLITE_OTHER 0x80
85 ///@}
86 
87 ///
88 /// PCI_CLASS_PROCESSING_ACCELERATOR, Base Class 12h.
89 ///
90 ///@{
91 #define PCI_CLASS_PROCESSING_ACCELERATOR  0x12
92 ///@}
93 
94 #endif
95