]> git.proxmox.com Git - mirror_edk2.git/commitdiff
Add missing PCI class code definition.
authorniruiyu <niruiyu@6f19259b-4bc3-4df7-8a09-765794883524>
Fri, 2 Nov 2012 06:13:14 +0000 (06:13 +0000)
committerniruiyu <niruiyu@6f19259b-4bc3-4df7-8a09-765794883524>
Fri, 2 Nov 2012 06:13:14 +0000 (06:13 +0000)
PCI22/PCI23/PCI30 spec were reviewed and the missing definitions were added to accordingly Pci22.h/Pci23.h/Pci30.h.
All other class code definitions that are not defined in PCI Local Bus specification but in PCI Code and ID Assignment specification are defined in PciCodeId.h.

Signed-off-by: Ruiyu Ni<ruiyu.ni@intel.com>
Reviewed-by: Liming Gao<liming.gao@intel.com>
Reviewed-by: Hot Tian<hot.tian@intel.com>
Reviewed-by: Elvin Li<elvin.li@intel.com>
Reviewed-by: Feng Tian<feng.tian@intel.com>
Reviewed-by: Jiewen Yao<jiewen.yao@intel.com>
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13919 6f19259b-4bc3-4df7-8a09-765794883524

MdePkg/Include/IndustryStandard/Pci.h
MdePkg/Include/IndustryStandard/Pci22.h
MdePkg/Include/IndustryStandard/Pci23.h
MdePkg/Include/IndustryStandard/Pci30.h
MdePkg/Include/IndustryStandard/PciCodeId.h [new file with mode: 0644]

index ebaa0f5c2e131d36dcb9bbb1192db33549f05d0a..32dd5432329c32c509e50a579325aca97f7c7562 100644 (file)
@@ -1,7 +1,7 @@
 /** @file\r
   Support for the latest PCI standard.\r
 \r
-Copyright (c) 2006 - 2010, Intel Corporation. All rights reserved.<BR>\r
+Copyright (c) 2006 - 2012, Intel Corporation. All rights reserved.<BR>\r
 This program and the accompanying materials are licensed and made available under \r
 the terms and conditions of the BSD License that accompanies this distribution.  \r
 The full text of the license may be found at\r
@@ -20,5 +20,6 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
 \r
 #include <IndustryStandard/Pci30.h>\r
 #include <IndustryStandard/PciExpress21.h>\r
+#include <IndustryStandard/PciCodeId.h>\r
 \r
 #endif\r
index bf06205bf9026a70a29f213e05160200f9317825..ad4b79d43f4b0fe339b41376df5e7b76d56254bb 100644 (file)
@@ -6,7 +6,7 @@
     PCI-to-PCI Bridge Architecture Specification, Revision 1.2\r
     PC Card Standard, 8.0\r
 \r
-  Copyright (c) 2006 - 2009, Intel Corporation. All rights reserved.<BR>\r
+  Copyright (c) 2006 - 2012, Intel Corporation. All rights reserved.<BR>\r
   This program and the accompanying materials                          \r
   are licensed and made available under the terms and conditions of the BSD License         \r
   which accompanies this distribution.  The full text of the license may be found at        \r
@@ -219,7 +219,7 @@ typedef struct {
 #define     PCI_IF_16550_MODEM            0x02\r
 #define     PCI_IF_16650_MODEM            0x03\r
 #define     PCI_IF_16750_MODEM            0x04\r
-#define   PCI_SUBCLASS_SCC_OTHER          0x80\r
+#define   PCI_SUBCLASS_SCC_OTHER        0x80\r
 \r
 #define PCI_CLASS_SYSTEM_PERIPHERAL   0x08\r
 #define   PCI_SUBCLASS_PIC              0x00\r
@@ -238,7 +238,7 @@ typedef struct {
 #define     PCI_IF_EISA_TIMER             0x02\r
 #define   PCI_SUBCLASS_RTC              0x03\r
 #define     PCI_IF_GENERIC_RTC            0x00\r
-#define     PCI_IF_ISA_RTC                0x00\r
+#define     PCI_IF_ISA_RTC                0x01\r
 #define   PCI_SUBCLASS_PNP_CONTROLLER   0x04    ///< HotPlug Controller\r
 #define   PCI_SUBCLASS_PERIPHERAL_OTHER 0x80\r
 \r
@@ -249,10 +249,12 @@ typedef struct {
 #define   PCI_SUBCLASS_SCAN_CONTROLLER  0x03\r
 #define   PCI_SUBCLASS_GAMEPORT         0x04\r
 #define     PCI_IF_GAMEPORT               0x00\r
-#define     PCI_IF_GAMEPORT1              0x01\r
+#define     PCI_IF_GAMEPORT1              0x10\r
 #define   PCI_SUBCLASS_INPUT_OTHER      0x80\r
 \r
 #define PCI_CLASS_DOCKING_STATION     0x0A\r
+#define   PCI_SUBCLASS_DOCKING_GENERIC  0x00\r
+#define   PCI_SUBCLASS_DOCKING_OTHER    0x80\r
 \r
 #define PCI_CLASS_PROCESSOR           0x0B\r
 #define   PCI_SUBCLASS_PROC_386         0x00\r
@@ -280,7 +282,7 @@ typedef struct {
 #define PCI_CLASS_WIRELESS            0x0D\r
 #define   PCI_SUBCLASS_IRDA             0x00\r
 #define   PCI_SUBCLASS_IR               0x01\r
-#define   PCI_SUBCLASS_RF               0x02\r
+#define   PCI_SUBCLASS_RF               0x10\r
 #define   PCI_SUBCLASS_WIRELESS_OTHER   0x80\r
 \r
 #define PCI_CLASS_INTELLIGENT_IO      0x0E\r
index 5b7d3d44a1746d28e5919c59c22db4af040e11da..467354429e0627e18b0ea6e4022c47ff9bd9337e 100644 (file)
@@ -1,7 +1,7 @@
 /** @file\r
   Support for PCI 2.3 standard.\r
 \r
-  Copyright (c) 2006 - 2010, Intel Corporation. All rights reserved.<BR>\r
+  Copyright (c) 2006 - 2012, Intel Corporation. All rights reserved.<BR>\r
   This program and the accompanying materials                          \r
   are licensed and made available under the terms and conditions of the BSD License         \r
   which accompanies this distribution.  The full text of the license may be found at        \r
 #define   PCI_IF_MASS_STORAGE_CHAINED_DMA  0x30\r
 ///@}\r
 \r
+///\r
+/// PCI_CLASS_NETWORK, Base Class 02h.\r
+///\r
+///@{\r
+#define PCI_CLASS_NETWORK_WORLDFIP              0x05\r
+#define PCI_CLASS_NETWORK_PICMG_MULTI_COMPUTING 0x06\r
+///@}\r
+\r
+///\r
+/// PCI_CLASS_BRIDGE, Base Class 06h.\r
+///\r
+///@{\r
+#define PCI_CLASS_BRIDGE_SEMI_TRANSPARENT_P2P        0x09\r
+#define   PCI_IF_BRIDGE_SEMI_TRANSPARENT_P2P_PRIMARY   0x40\r
+#define   PCI_IF_BRIDGE_SEMI_TRANSPARENT_P2P_SECONDARY 0x80\r
+#define PCI_CLASS_BRIDGE_INFINIBAND_TO_PCI           0x0A\r
+///@}\r
+\r
+///\r
+/// PCI_CLASS_SCC, Base Class 07h.\r
+///\r
+///@{\r
+#define PCI_SUBCLASS_GPIB          0x04\r
+#define PCI_SUBCLASS_SMART_CARD    0x05\r
+///@}\r
+\r
 ///\r
 /// PCI_CLASS_SERIAL, Base Class 0Ch.\r
 ///\r
 ///@{\r
 #define   PCI_IF_EHCI                      0x20\r
 #define PCI_CLASS_SERIAL_IB              0x06\r
+#define PCI_CLASS_SERIAL_IPMI            0x07\r
+#define   PCI_IF_IPMI_SMIC                 0x00\r
+#define   PCI_IF_IPMI_KCS                  0x01 ///< Keyboard Controller Style\r
+#define   PCI_IF_IPMI_BT                   0x02 ///< Block Transfer\r
+#define PCI_CLASS_SERIAL_SERCOS          0x08\r
+#define PCI_CLASS_SERIAL_CANBUS          0x09\r
+///@}\r
+\r
+///\r
+/// PCI_CLASS_WIRELESS, Base Class 0Dh.\r
+///\r
+///@{\r
+#define PCI_SUBCLASS_BLUETOOTH    0x11\r
+#define PCI_SUBCLASS_BROADBAND    0x12\r
+///@}\r
+\r
+///\r
+/// PCI_CLASS_DPIO, Base Class 11h.\r
+///\r
+///@{\r
+#define PCI_SUBCLASS_PERFORMANCE_COUNTERS          0x01\r
+#define PCI_SUBCLASS_COMMUNICATION_SYNCHRONIZATION 0x10\r
+#define PCI_SUBCLASS_MANAGEMENT_CARD               0x20\r
 ///@}\r
 \r
 ///\r
index 4c71385a180d5c2956e84531dab86caa089a08c0..a4ab909eb53434c5e196916d0430840be1d0db6c 100644 (file)
@@ -1,7 +1,7 @@
 /** @file\r
   Support for PCI 3.0 standard.\r
 \r
-  Copyright (c) 2006 - 2010, Intel Corporation. All rights reserved.<BR>\r
+  Copyright (c) 2006 - 2012, Intel Corporation. All rights reserved.<BR>\r
   This program and the accompanying materials                          \r
   are licensed and made available under the terms and conditions of the BSD License         \r
   which accompanies this distribution.  The full text of the license may be found at        \r
 #include <IndustryStandard/Pci23.h>\r
 \r
 ///\r
-/// Definitions of PCI class bytes and manipulation macros.\r
+/// PCI_CLASS_MASS_STORAGE, Base Class 01h.\r
 ///\r
+///@{\r
 #define PCI_CLASS_MASS_STORAGE_SATADPA   0x06\r
 #define   PCI_IF_MASS_STORAGE_SATA         0x00\r
 #define   PCI_IF_MASS_STORAGE_AHCI         0x01\r
+///@}\r
 \r
-/**  \r
+///\r
+/// PCI_CLASS_WIRELESS, Base Class 0Dh.\r
+///\r
+///@{\r
+#define PCI_SUBCLASS_ETHERNET_80211A    0x20\r
+#define PCI_SUBCLASS_ETHERNET_80211B    0x21\r
+///@}\r
+\r
+/**\r
   Macro that checks whether device is a SATA controller.\r
 \r
   @param  _p      Specified device.\r
diff --git a/MdePkg/Include/IndustryStandard/PciCodeId.h b/MdePkg/Include/IndustryStandard/PciCodeId.h
new file mode 100644 (file)
index 0000000..dba9856
--- /dev/null
@@ -0,0 +1,100 @@
+/** @file\r
+  The file lists the PCI class codes only defined in PCI code and ID assignment specification\r
+  revision 1.3.\r
+\r
+  Copyright (c) 2012, Intel Corporation. All rights reserved.<BR>\r
+  This program and the accompanying materials                          \r
+  are licensed and made available under the terms and conditions of the BSD License         \r
+  which accompanies this distribution.  The full text of the license may be found at        \r
+  http://opensource.org/licenses/bsd-license.php                                            \r
+\r
+  THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,                     \r
+  WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.             \r
+\r
+**/\r
+\r
+#ifndef __PCI_CODE_ID_H__\r
+#define __PCI_CODE_ID_H__\r
+\r
+\r
+///\r
+/// PCI_CLASS_MASS_STORAGE, Base Class 01h.\r
+///\r
+///@{\r
+#define   PCI_IF_MASS_STORAGE_SCSI_VENDOR_SPECIFIC          0x00\r
+#define   PCI_IF_MASS_STORAGE_SCSI_DEVICE_PQI               0x11\r
+#define   PCI_IF_MASS_STORAGE_SCSI_CONTROLLER_PQI           0x12\r
+#define   PCI_IF_MASS_STORAGE_SCSI_DEVICE_CONTROLLER_PQI    0x13\r
+#define   PCI_IF_MASS_STORAGE_SCSI_DEVICE_NVM_EXPRESS       0x21\r
+#define   PCI_IF_MASS_STORAGE_SATA_SERIAL_BUS               0x02\r
+#define PCI_CLASS_MASS_STORAGE_SAS                        0x07\r
+#define   PCI_IF_MASS_STORAGE_SAS                           0x00\r
+#define   PCI_IF_MASS_STORAGE_SAS_SERIAL_BUS                0x01\r
+#define PCI_CLASS_MASS_STORAGE_SOLID_STATE                0x08\r
+#define   PCI_IF_MASS_STORAGE_SOLID_STATE                   0x00\r
+#define   PCI_IF_MASS_STORAGE_SOLID_STATE_NVMHCI            0x01\r
+#define   PCI_IF_MASS_STORAGE_SOLID_STATE_ENTERPRISE_NVMHCI 0x02\r
+///@}\r
+\r
+///\r
+/// PCI_CLASS_NETWORK, Base Class 02h.\r
+///\r
+///@{\r
+#define PCI_CLASS_NETWORK_INFINIBAND   0x07\r
+///@}\r
+\r
+///\r
+/// PCI_CLASS_MEDIA, Base Class 04h.\r
+///\r
+///@{\r
+#define PCI_CLASS_MEDIA_MIXED_MODE   0x03\r
+///@}\r
+\r
+///\r
+/// PCI_CLASS_BRIDGE, Base Class 06h.\r
+///\r
+///@{\r
+#define PCI_CLASS_BRIDGE_ADVANCED_SWITCHING_TO_PCI      0x0B\r
+#define   PCI_IF_BRIDGE_ADVANCED_SWITCHING_TO_PCI_CUSTOM  0x00\r
+#define   PCI_IF_BRIDGE_ADVANCED_SWITCHING_TO_PCI_ASI_SIG 0x01\r
+///@}\r
+\r
+///\r
+/// PCI_CLASS_SYSTEM_PERIPHERAL, Base Class 08h.\r
+///\r
+///@{\r
+#define   PCI_IF_HPET                 0x03\r
+#define PCI_SUBCLASS_SD_HOST_CONTROLLER 0x05\r
+#define PCI_SUBCLASS_IOMMU              0x06\r
+///@}\r
+\r
+///\r
+/// PCI_CLASS_PROCESSOR, Base Class 0Bh.\r
+///\r
+///@{\r
+#define PCI_SUBCLASS_PROC_OTHER 0x80\r
+///@}\r
+\r
+///\r
+/// PCI_CLASS_SERIAL, Base Class 0Ch.\r
+///\r
+///@{\r
+#define   PCI_IF_XHCI             0x30\r
+#define PCI_CLASS_SERIAL_OTHER  0x80\r
+///@}\r
+\r
+///\r
+/// PCI_CLASS_SATELLITE, Base Class 0Fh.\r
+///\r
+///@{\r
+#define PCI_SUBCLASS_SATELLITE_OTHER 0x80\r
+///@}\r
+\r
+///\r
+/// PCI_CLASS_PROCESSING_ACCELERATOR, Base Class 12h.\r
+///\r
+///@{\r
+#define PCI_CLASS_PROCESSING_ACCELERATOR  0x12\r
+///@}\r
+\r
+#endif\r