]> git.proxmox.com Git - mirror_edk2.git/blame - IntelFrameworkModulePkg/Library/PciIncompatibleDeviceSupportLib/IncompatiblePciDeviceList.h
Reviewed the code comments in the Include/Protocol directory for typos, grammar issue...
[mirror_edk2.git] / IntelFrameworkModulePkg / Library / PciIncompatibleDeviceSupportLib / IncompatiblePciDeviceList.h
CommitLineData
54bd896e 1/** @file\r
2 The incompatible PCI device list\r
3\r
53bd6e4c 4Copyright (c) 2006 - 2007, Intel Corporation \r
5All rights reserved. This program and the accompanying materials \r
6are licensed and made available under the terms and conditions of the BSD License \r
7which accompanies this distribution. The full text of the license may be found at \r
8http://opensource.org/licenses/bsd-license.php \r
9 \r
10THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, \r
11WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. \r
54bd896e 12\r
13**/\r
14\r
15#ifndef _EFI_INCOMPATIBLE_PCI_DEVICE_LIST_H\r
16#define _EFI_INCOMPATIBLE_PCI_DEVICE_LIST_H\r
17\r
a97a7e79 18#include <Library/PciIncompatibleDeviceSupportLib.h>\r
19#include <Library/MemoryAllocationLib.h>\r
20#include <Library/DebugLib.h>\r
54bd896e 21\r
c05d0125 22#include <IndustryStandard/Pci22.h>\r
54bd896e 23#include <IndustryStandard/Acpi.h>\r
24\r
25\r
26#define PCI_DEVICE_ID(VendorId, DeviceId, Revision, SubVendorId, SubDeviceId) \\r
27 VendorId, DeviceId, Revision, SubVendorId, SubDeviceId\r
28\r
29#define PCI_BAR_TYPE_IO ACPI_ADDRESS_SPACE_TYPE_IO\r
30#define PCI_BAR_TYPE_MEM ACPI_ADDRESS_SPACE_TYPE_MEM\r
31\r
32#define DEVICE_INF_TAG 0xFFF2\r
33#define DEVICE_RES_TAG 0xFFF1\r
34#define LIST_END_TAG 0x0000\r
35\r
36//\r
37// descriptor for access width of incompatible PCI device\r
38//\r
39typedef struct {\r
40 UINT64 AccessType;\r
41 UINT64 AccessWidth;\r
42 EFI_PCI_REGISTER_ACCESS_DATA PciRegisterAccessData;\r
43} EFI_PCI_REGISTER_ACCESS_DESCRIPTOR;\r
44\r
45//\r
46// descriptor for register value of incompatible PCI device\r
47//\r
48typedef struct {\r
49 UINT64 AccessType;\r
50 UINT64 Offset;\r
51 EFI_PCI_REGISTER_VALUE_DATA PciRegisterValueData;\r
52} EFI_PCI_REGISTER_VALUE_DESCRIPTOR;\r
53\r
54\r
55//\r
56// the incompatible PCI devices list for ACPI resource\r
57//\r
58GLOBAL_REMOVE_IF_UNREFERENCED UINT64 IncompatiblePciDeviceListForResource[] = {\r
59 //\r
60 // DEVICE_INF_TAG,\r
61 // PCI_DEVICE_ID (VendorID, DeviceID, Revision, SubVendorId, SubDeviceId),\r
62 // DEVICE_RES_TAG,\r
63 // ResType, GFlag , SFlag, Granularity, RangeMin,\r
64 // RangeMax, Offset, AddrLen\r
65 //\r
66 //\r
67 // Device Adaptec 9004\r
68 //\r
69 DEVICE_INF_TAG,\r
70 PCI_DEVICE_ID(0x9004, DEVICE_ID_NOCARE, DEVICE_ID_NOCARE, DEVICE_ID_NOCARE, DEVICE_ID_NOCARE),\r
71 DEVICE_RES_TAG,\r
72 PCI_BAR_TYPE_IO,\r
73 PCI_ACPI_UNUSED,\r
74 PCI_ACPI_UNUSED,\r
75 PCI_ACPI_UNUSED,\r
76 PCI_ACPI_UNUSED,\r
77 PCI_BAR_EVEN_ALIGN,\r
78 PCI_BAR_ALL,\r
79 PCI_BAR_NOCHANGE,\r
80 //\r
81 // Device Adaptec 9005\r
82 //\r
83 DEVICE_INF_TAG,\r
84 PCI_DEVICE_ID(0x9005, DEVICE_ID_NOCARE, DEVICE_ID_NOCARE, DEVICE_ID_NOCARE, DEVICE_ID_NOCARE),\r
85 DEVICE_RES_TAG,\r
86 PCI_BAR_TYPE_IO,\r
87 PCI_ACPI_UNUSED,\r
88 PCI_ACPI_UNUSED,\r
89 PCI_ACPI_UNUSED,\r
90 PCI_ACPI_UNUSED,\r
91 PCI_BAR_EVEN_ALIGN,\r
92 PCI_BAR_ALL,\r
93 PCI_BAR_NOCHANGE,\r
94 //\r
95 // Device QLogic 1007\r
96 //\r
97 DEVICE_INF_TAG,\r
98 PCI_DEVICE_ID(0x1077, DEVICE_ID_NOCARE, DEVICE_ID_NOCARE, DEVICE_ID_NOCARE, DEVICE_ID_NOCARE),\r
99 DEVICE_RES_TAG,\r
100 PCI_BAR_TYPE_IO,\r
101 PCI_ACPI_UNUSED,\r
102 PCI_ACPI_UNUSED,\r
103 PCI_ACPI_UNUSED,\r
104 PCI_ACPI_UNUSED,\r
105 PCI_BAR_EVEN_ALIGN,\r
106 PCI_BAR_ALL,\r
107 PCI_BAR_NOCHANGE,\r
108 //\r
109 // Device Agilent 103C\r
110 //\r
111 DEVICE_INF_TAG,\r
112 PCI_DEVICE_ID(0x103C, DEVICE_ID_NOCARE, DEVICE_ID_NOCARE, DEVICE_ID_NOCARE, DEVICE_ID_NOCARE),\r
113 DEVICE_RES_TAG,\r
114 PCI_BAR_TYPE_IO,\r
115 PCI_ACPI_UNUSED,\r
116 PCI_ACPI_UNUSED,\r
117 PCI_ACPI_UNUSED,\r
118 PCI_ACPI_UNUSED,\r
119 PCI_BAR_EVEN_ALIGN,\r
120 PCI_BAR_ALL,\r
121 PCI_BAR_NOCHANGE,\r
122 //\r
123 // Device Agilent 15BC\r
124 //\r
125 DEVICE_INF_TAG,\r
126 PCI_DEVICE_ID(0x15BC, DEVICE_ID_NOCARE, DEVICE_ID_NOCARE, DEVICE_ID_NOCARE, DEVICE_ID_NOCARE),\r
127 DEVICE_RES_TAG,\r
128 PCI_BAR_TYPE_IO,\r
129 PCI_ACPI_UNUSED,\r
130 PCI_ACPI_UNUSED,\r
131 PCI_ACPI_UNUSED,\r
132 PCI_ACPI_UNUSED,\r
133 PCI_BAR_EVEN_ALIGN,\r
134 PCI_BAR_ALL,\r
135 PCI_BAR_NOCHANGE,\r
136 //\r
137 // The end of the list\r
138 //\r
139 LIST_END_TAG\r
140};\r
141\r
142//\r
143// the incompatible PCI devices list for the values of configuration registers\r
144//\r
145GLOBAL_REMOVE_IF_UNREFERENCED UINT64 IncompatiblePciDeviceListForRegister[] = {\r
146 //\r
147 // DEVICE_INF_TAG,\r
148 // PCI_DEVICE_ID (VendorID, DeviceID, Revision, SubVendorId, SubDeviceId),\r
149 // PCI_RES_TAG,\r
150 // PCI_ACCESS_TYPE, PCI_CONFIG_ADDRESS,\r
151 // AND_VALUE, OR_VALUE\r
152\r
153 //\r
154 // Device Lava 0x1407, DeviceId 0x0110\r
155 //\r
156 DEVICE_INF_TAG,\r
157 PCI_DEVICE_ID(0x1407, 0x0110, DEVICE_ID_NOCARE, DEVICE_ID_NOCARE, DEVICE_ID_NOCARE),\r
158 DEVICE_RES_TAG,\r
159 PCI_REGISTER_READ,\r
160 PCI_CAPBILITY_POINTER_OFFSET,\r
161 0xffffff00,\r
162 VALUE_NOCARE,\r
163\r
164 //\r
165 // Device Lava 0x1407, DeviceId 0x0111\r
166 //\r
167 DEVICE_INF_TAG,\r
168 PCI_DEVICE_ID(0x1407, 0x0111, DEVICE_ID_NOCARE, DEVICE_ID_NOCARE, DEVICE_ID_NOCARE),\r
169 DEVICE_RES_TAG,\r
170 PCI_REGISTER_READ,\r
171 PCI_CAPBILITY_POINTER_OFFSET,\r
172 0xffffff00,\r
173 VALUE_NOCARE,\r
174\r
175 //\r
176 // The end of the list\r
177 //\r
178 LIST_END_TAG\r
179};\r
180\r
181//\r
182// the incompatible PCI devices list for the access width of configuration registers\r
183//\r
184GLOBAL_REMOVE_IF_UNREFERENCED UINT64 DeviceListForAccessWidth[] = {\r
185 //\r
186 // DEVICE_INF_TAG,\r
187 // PCI_DEVICE_ID (VendorID, DeviceID, Revision, SubVendorId, SubDeviceId),\r
188 // DEVICE_RES_TAG,\r
189 // PCI_ACCESS_TYPE, PCI_ACCESS_WIDTH,\r
190 // START_ADDRESS, END_ADDRESS,\r
191 // ACTUAL_PCI_ACCESS_WIDTH,\r
192 //\r
193\r
194 //\r
195 // Sample Device\r
196 //\r
197 //DEVICE_INF_TAG,\r
198 //PCI_DEVICE_ID(0xXXXX, DEVICE_ID_NOCARE, DEVICE_ID_NOCARE, DEVICE_ID_NOCARE, DEVICE_ID_NOCARE),\r
199 //DEVICE_RES_TAG,\r
200 //PCI_REGISTER_READ,\r
201 //EfiPciWidthUint8,\r
202 //0,\r
203 //0xFF,\r
204 //EfiPciWidthUint32,\r
205 //\r
206\r
207 //\r
208 // The end of the list\r
209 //\r
210 LIST_END_TAG\r
211};\r
212\r
213#endif\r