]> git.proxmox.com Git - mirror_edk2.git/blame_incremental - MdePkg/Include/IndustryStandard/Pci23.h
MdePkg/PciExpress21.h: Fix the PCI industry standard register defines
[mirror_edk2.git] / MdePkg / Include / IndustryStandard / Pci23.h
... / ...
CommitLineData
1/** @file\r
2 Support for PCI 2.3 standard.\r
3\r
4 Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>\r
5 SPDX-License-Identifier: BSD-2-Clause-Patent\r
6\r
7**/\r
8\r
9#ifndef _PCI23_H_\r
10#define _PCI23_H_\r
11\r
12#include <IndustryStandard/Pci22.h>\r
13\r
14///\r
15/// PCI_CLASS_MASS_STORAGE, Base Class 01h.\r
16///\r
17///@{\r
18#define PCI_CLASS_MASS_STORAGE_ATA 0x05\r
19#define PCI_IF_MASS_STORAGE_SINGLE_DMA 0x20\r
20#define PCI_IF_MASS_STORAGE_CHAINED_DMA 0x30\r
21///@}\r
22\r
23///\r
24/// PCI_CLASS_NETWORK, Base Class 02h.\r
25///\r
26///@{\r
27#define PCI_CLASS_NETWORK_WORLDFIP 0x05\r
28#define PCI_CLASS_NETWORK_PICMG_MULTI_COMPUTING 0x06\r
29///@}\r
30\r
31///\r
32/// PCI_CLASS_BRIDGE, Base Class 06h.\r
33///\r
34///@{\r
35#define PCI_CLASS_BRIDGE_SEMI_TRANSPARENT_P2P 0x09\r
36#define PCI_IF_BRIDGE_SEMI_TRANSPARENT_P2P_PRIMARY 0x40\r
37#define PCI_IF_BRIDGE_SEMI_TRANSPARENT_P2P_SECONDARY 0x80\r
38#define PCI_CLASS_BRIDGE_INFINIBAND_TO_PCI 0x0A\r
39///@}\r
40\r
41///\r
42/// PCI_CLASS_SCC, Base Class 07h.\r
43///\r
44///@{\r
45#define PCI_SUBCLASS_GPIB 0x04\r
46#define PCI_SUBCLASS_SMART_CARD 0x05\r
47///@}\r
48\r
49///\r
50/// PCI_CLASS_SERIAL, Base Class 0Ch.\r
51///\r
52///@{\r
53#define PCI_IF_EHCI 0x20\r
54#define PCI_CLASS_SERIAL_IB 0x06\r
55#define PCI_CLASS_SERIAL_IPMI 0x07\r
56#define PCI_IF_IPMI_SMIC 0x00\r
57#define PCI_IF_IPMI_KCS 0x01 ///< Keyboard Controller Style\r
58#define PCI_IF_IPMI_BT 0x02 ///< Block Transfer\r
59#define PCI_CLASS_SERIAL_SERCOS 0x08\r
60#define PCI_CLASS_SERIAL_CANBUS 0x09\r
61///@}\r
62\r
63///\r
64/// PCI_CLASS_WIRELESS, Base Class 0Dh.\r
65///\r
66///@{\r
67#define PCI_SUBCLASS_BLUETOOTH 0x11\r
68#define PCI_SUBCLASS_BROADBAND 0x12\r
69///@}\r
70\r
71///\r
72/// PCI_CLASS_DPIO, Base Class 11h.\r
73///\r
74///@{\r
75#define PCI_SUBCLASS_PERFORMANCE_COUNTERS 0x01\r
76#define PCI_SUBCLASS_COMMUNICATION_SYNCHRONIZATION 0x10\r
77#define PCI_SUBCLASS_MANAGEMENT_CARD 0x20\r
78///@}\r
79\r
80///\r
81/// defined in PCI Express Spec.\r
82///\r
83#define PCI_EXP_MAX_CONFIG_OFFSET 0x1000\r
84\r
85///\r
86/// PCI Capability List IDs and records.\r
87///\r
88#define EFI_PCI_CAPABILITY_ID_PCIX 0x07\r
89#define EFI_PCI_CAPABILITY_ID_VENDOR 0x09\r
90\r
91#pragma pack(1)\r
92///\r
93/// PCI-X Capabilities List,\r
94/// Section 7.2, PCI-X Addendum to the PCI Local Bus Specification, Revision 1.0b.\r
95///\r
96typedef struct {\r
97 EFI_PCI_CAPABILITY_HDR Hdr;\r
98 UINT16 CommandReg;\r
99 UINT32 StatusReg;\r
100} EFI_PCI_CAPABILITY_PCIX;\r
101\r
102///\r
103/// PCI-X Bridge Capabilities List,\r
104/// Section 8.6.2, PCI-X Addendum to the PCI Local Bus Specification, Revision 1.0b.\r
105///\r
106typedef struct {\r
107 EFI_PCI_CAPABILITY_HDR Hdr;\r
108 UINT16 SecStatusReg;\r
109 UINT32 StatusReg;\r
110 UINT32 SplitTransCtrlRegUp;\r
111 UINT32 SplitTransCtrlRegDn;\r
112} EFI_PCI_CAPABILITY_PCIX_BRDG;\r
113\r
114///\r
115/// Vendor Specific Capability Header\r
116/// Table H-1: Capability IDs, PCI Local Bus Specification, 2.3\r
117///\r
118typedef struct {\r
119 EFI_PCI_CAPABILITY_HDR Hdr;\r
120 UINT8 Length;\r
121} EFI_PCI_CAPABILITY_VENDOR_HDR;\r
122\r
123#pragma pack()\r
124\r
125#define PCI_CODE_TYPE_EFI_IMAGE 0x03\r
126\r
127#endif\r