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, Intel Corporation. All rights reserved.<BR>
6   This program and the accompanying materials
7   are licensed and made available under the terms and conditions of the BSD License
8   which accompanies this distribution.  The full text of the license may be found at
9   http://opensource.org/licenses/bsd-license.php
10 
11   THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
12   WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
13 
14 **/
15 
16 #ifndef __PCI_CODE_ID_H__
17 #define __PCI_CODE_ID_H__
18 
19 
20 ///
21 /// PCI_CLASS_MASS_STORAGE, Base Class 01h.
22 ///
23 ///@{
24 #define   PCI_IF_MASS_STORAGE_SCSI_VENDOR_SPECIFIC          0x00
25 #define   PCI_IF_MASS_STORAGE_SCSI_DEVICE_PQI               0x11
26 #define   PCI_IF_MASS_STORAGE_SCSI_CONTROLLER_PQI           0x12
27 #define   PCI_IF_MASS_STORAGE_SCSI_DEVICE_CONTROLLER_PQI    0x13
28 #define   PCI_IF_MASS_STORAGE_SCSI_DEVICE_NVM_EXPRESS       0x21
29 #define   PCI_IF_MASS_STORAGE_SATA_SERIAL_BUS               0x02
30 #define PCI_CLASS_MASS_STORAGE_SAS                        0x07
31 #define   PCI_IF_MASS_STORAGE_SAS                           0x00
32 #define   PCI_IF_MASS_STORAGE_SAS_SERIAL_BUS                0x01
33 #define PCI_CLASS_MASS_STORAGE_SOLID_STATE                0x08
34 #define   PCI_IF_MASS_STORAGE_SOLID_STATE                   0x00
35 #define   PCI_IF_MASS_STORAGE_SOLID_STATE_NVMHCI            0x01
36 #define   PCI_IF_MASS_STORAGE_SOLID_STATE_ENTERPRISE_NVMHCI 0x02
37 ///@}
38 
39 ///
40 /// PCI_CLASS_NETWORK, Base Class 02h.
41 ///
42 ///@{
43 #define PCI_CLASS_NETWORK_INFINIBAND   0x07
44 ///@}
45 
46 ///
47 /// PCI_CLASS_MEDIA, Base Class 04h.
48 ///
49 ///@{
50 #define PCI_CLASS_MEDIA_MIXED_MODE   0x03
51 ///@}
52 
53 ///
54 /// PCI_CLASS_BRIDGE, Base Class 06h.
55 ///
56 ///@{
57 #define PCI_CLASS_BRIDGE_ADVANCED_SWITCHING_TO_PCI      0x0B
58 #define   PCI_IF_BRIDGE_ADVANCED_SWITCHING_TO_PCI_CUSTOM  0x00
59 #define   PCI_IF_BRIDGE_ADVANCED_SWITCHING_TO_PCI_ASI_SIG 0x01
60 ///@}
61 
62 ///
63 /// PCI_CLASS_SYSTEM_PERIPHERAL, Base Class 08h.
64 ///
65 ///@{
66 #define   PCI_IF_HPET                 0x03
67 #define PCI_SUBCLASS_SD_HOST_CONTROLLER 0x05
68 #define PCI_SUBCLASS_IOMMU              0x06
69 ///@}
70 
71 ///
72 /// PCI_CLASS_PROCESSOR, Base Class 0Bh.
73 ///
74 ///@{
75 #define PCI_SUBCLASS_PROC_OTHER 0x80
76 ///@}
77 
78 ///
79 /// PCI_CLASS_SERIAL, Base Class 0Ch.
80 ///
81 ///@{
82 #define   PCI_IF_XHCI             0x30
83 #define PCI_CLASS_SERIAL_OTHER  0x80
84 ///@}
85 
86 ///
87 /// PCI_CLASS_SATELLITE, Base Class 0Fh.
88 ///
89 ///@{
90 #define PCI_SUBCLASS_SATELLITE_OTHER 0x80
91 ///@}
92 
93 ///
94 /// PCI_CLASS_PROCESSING_ACCELERATOR, Base Class 12h.
95 ///
96 ///@{
97 #define PCI_CLASS_PROCESSING_ACCELERATOR  0x12
98 ///@}
99 
100 #endif
101