Complete the library instances in IntelFrameworkModulePkg
[mirror_edk2.git] / IntelFrameworkModulePkg / Library / PciIncompatibleDeviceSupportLib / IncompatiblePciDeviceList.h
CommitLineData
54bd896e 1/** @file\r
2 The incompatible PCI device list\r
3\r
4Copyright (c) 2007 Intel Corporation. All rights reserved. <BR>\r
5This software and associated documentation (if any) is furnished\r
6under a license and may only be used or copied in accordance\r
7with the terms of the license. Except as permitted by such\r
8license, no part of this software or documentation may be\r
9reproduced, stored in a retrieval system, or transmitted in any\r
10form or by any means without the express written consent of\r
11Intel Corporation.\r
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
18//\r
19// Include common header file for this module.\r
20//\r
21#include "CommonHeader.h"\r
22\r
23#include <IndustryStandard/pci22.h>\r
24#include <IndustryStandard/Acpi.h>\r
25\r
26\r
27#define PCI_DEVICE_ID(VendorId, DeviceId, Revision, SubVendorId, SubDeviceId) \\r
28 VendorId, DeviceId, Revision, SubVendorId, SubDeviceId\r
29\r
30#define PCI_BAR_TYPE_IO ACPI_ADDRESS_SPACE_TYPE_IO\r
31#define PCI_BAR_TYPE_MEM ACPI_ADDRESS_SPACE_TYPE_MEM\r
32\r
33#define DEVICE_INF_TAG 0xFFF2\r
34#define DEVICE_RES_TAG 0xFFF1\r
35#define LIST_END_TAG 0x0000\r
36\r
37//\r
38// descriptor for access width of incompatible PCI device\r
39//\r
40typedef struct {\r
41 UINT64 AccessType;\r
42 UINT64 AccessWidth;\r
43 EFI_PCI_REGISTER_ACCESS_DATA PciRegisterAccessData;\r
44} EFI_PCI_REGISTER_ACCESS_DESCRIPTOR;\r
45\r
46//\r
47// descriptor for register value of incompatible PCI device\r
48//\r
49typedef struct {\r
50 UINT64 AccessType;\r
51 UINT64 Offset;\r
52 EFI_PCI_REGISTER_VALUE_DATA PciRegisterValueData;\r
53} EFI_PCI_REGISTER_VALUE_DESCRIPTOR;\r
54\r
55\r
56//\r
57// the incompatible PCI devices list for ACPI resource\r
58//\r
59GLOBAL_REMOVE_IF_UNREFERENCED UINT64 IncompatiblePciDeviceListForResource[] = {\r
60 //\r
61 // DEVICE_INF_TAG,\r
62 // PCI_DEVICE_ID (VendorID, DeviceID, Revision, SubVendorId, SubDeviceId),\r
63 // DEVICE_RES_TAG,\r
64 // ResType, GFlag , SFlag, Granularity, RangeMin,\r
65 // RangeMax, Offset, AddrLen\r
66 //\r
67 //\r
68 // Device Adaptec 9004\r
69 //\r
70 DEVICE_INF_TAG,\r
71 PCI_DEVICE_ID(0x9004, DEVICE_ID_NOCARE, DEVICE_ID_NOCARE, DEVICE_ID_NOCARE, DEVICE_ID_NOCARE),\r
72 DEVICE_RES_TAG,\r
73 PCI_BAR_TYPE_IO,\r
74 PCI_ACPI_UNUSED,\r
75 PCI_ACPI_UNUSED,\r
76 PCI_ACPI_UNUSED,\r
77 PCI_ACPI_UNUSED,\r
78 PCI_BAR_EVEN_ALIGN,\r
79 PCI_BAR_ALL,\r
80 PCI_BAR_NOCHANGE,\r
81 //\r
82 // Device Adaptec 9005\r
83 //\r
84 DEVICE_INF_TAG,\r
85 PCI_DEVICE_ID(0x9005, DEVICE_ID_NOCARE, DEVICE_ID_NOCARE, DEVICE_ID_NOCARE, DEVICE_ID_NOCARE),\r
86 DEVICE_RES_TAG,\r
87 PCI_BAR_TYPE_IO,\r
88 PCI_ACPI_UNUSED,\r
89 PCI_ACPI_UNUSED,\r
90 PCI_ACPI_UNUSED,\r
91 PCI_ACPI_UNUSED,\r
92 PCI_BAR_EVEN_ALIGN,\r
93 PCI_BAR_ALL,\r
94 PCI_BAR_NOCHANGE,\r
95 //\r
96 // Device QLogic 1007\r
97 //\r
98 DEVICE_INF_TAG,\r
99 PCI_DEVICE_ID(0x1077, DEVICE_ID_NOCARE, DEVICE_ID_NOCARE, DEVICE_ID_NOCARE, DEVICE_ID_NOCARE),\r
100 DEVICE_RES_TAG,\r
101 PCI_BAR_TYPE_IO,\r
102 PCI_ACPI_UNUSED,\r
103 PCI_ACPI_UNUSED,\r
104 PCI_ACPI_UNUSED,\r
105 PCI_ACPI_UNUSED,\r
106 PCI_BAR_EVEN_ALIGN,\r
107 PCI_BAR_ALL,\r
108 PCI_BAR_NOCHANGE,\r
109 //\r
110 // Device Agilent 103C\r
111 //\r
112 DEVICE_INF_TAG,\r
113 PCI_DEVICE_ID(0x103C, DEVICE_ID_NOCARE, DEVICE_ID_NOCARE, DEVICE_ID_NOCARE, DEVICE_ID_NOCARE),\r
114 DEVICE_RES_TAG,\r
115 PCI_BAR_TYPE_IO,\r
116 PCI_ACPI_UNUSED,\r
117 PCI_ACPI_UNUSED,\r
118 PCI_ACPI_UNUSED,\r
119 PCI_ACPI_UNUSED,\r
120 PCI_BAR_EVEN_ALIGN,\r
121 PCI_BAR_ALL,\r
122 PCI_BAR_NOCHANGE,\r
123 //\r
124 // Device Agilent 15BC\r
125 //\r
126 DEVICE_INF_TAG,\r
127 PCI_DEVICE_ID(0x15BC, DEVICE_ID_NOCARE, DEVICE_ID_NOCARE, DEVICE_ID_NOCARE, DEVICE_ID_NOCARE),\r
128 DEVICE_RES_TAG,\r
129 PCI_BAR_TYPE_IO,\r
130 PCI_ACPI_UNUSED,\r
131 PCI_ACPI_UNUSED,\r
132 PCI_ACPI_UNUSED,\r
133 PCI_ACPI_UNUSED,\r
134 PCI_BAR_EVEN_ALIGN,\r
135 PCI_BAR_ALL,\r
136 PCI_BAR_NOCHANGE,\r
137 //\r
138 // The end of the list\r
139 //\r
140 LIST_END_TAG\r
141};\r
142\r
143//\r
144// the incompatible PCI devices list for the values of configuration registers\r
145//\r
146GLOBAL_REMOVE_IF_UNREFERENCED UINT64 IncompatiblePciDeviceListForRegister[] = {\r
147 //\r
148 // DEVICE_INF_TAG,\r
149 // PCI_DEVICE_ID (VendorID, DeviceID, Revision, SubVendorId, SubDeviceId),\r
150 // PCI_RES_TAG,\r
151 // PCI_ACCESS_TYPE, PCI_CONFIG_ADDRESS,\r
152 // AND_VALUE, OR_VALUE\r
153\r
154 //\r
155 // Device Lava 0x1407, DeviceId 0x0110\r
156 //\r
157 DEVICE_INF_TAG,\r
158 PCI_DEVICE_ID(0x1407, 0x0110, DEVICE_ID_NOCARE, DEVICE_ID_NOCARE, DEVICE_ID_NOCARE),\r
159 DEVICE_RES_TAG,\r
160 PCI_REGISTER_READ,\r
161 PCI_CAPBILITY_POINTER_OFFSET,\r
162 0xffffff00,\r
163 VALUE_NOCARE,\r
164\r
165 //\r
166 // Device Lava 0x1407, DeviceId 0x0111\r
167 //\r
168 DEVICE_INF_TAG,\r
169 PCI_DEVICE_ID(0x1407, 0x0111, DEVICE_ID_NOCARE, DEVICE_ID_NOCARE, DEVICE_ID_NOCARE),\r
170 DEVICE_RES_TAG,\r
171 PCI_REGISTER_READ,\r
172 PCI_CAPBILITY_POINTER_OFFSET,\r
173 0xffffff00,\r
174 VALUE_NOCARE,\r
175\r
176 //\r
177 // The end of the list\r
178 //\r
179 LIST_END_TAG\r
180};\r
181\r
182//\r
183// the incompatible PCI devices list for the access width of configuration registers\r
184//\r
185GLOBAL_REMOVE_IF_UNREFERENCED UINT64 DeviceListForAccessWidth[] = {\r
186 //\r
187 // DEVICE_INF_TAG,\r
188 // PCI_DEVICE_ID (VendorID, DeviceID, Revision, SubVendorId, SubDeviceId),\r
189 // DEVICE_RES_TAG,\r
190 // PCI_ACCESS_TYPE, PCI_ACCESS_WIDTH,\r
191 // START_ADDRESS, END_ADDRESS,\r
192 // ACTUAL_PCI_ACCESS_WIDTH,\r
193 //\r
194\r
195 //\r
196 // Sample Device\r
197 //\r
198 //DEVICE_INF_TAG,\r
199 //PCI_DEVICE_ID(0xXXXX, DEVICE_ID_NOCARE, DEVICE_ID_NOCARE, DEVICE_ID_NOCARE, DEVICE_ID_NOCARE),\r
200 //DEVICE_RES_TAG,\r
201 //PCI_REGISTER_READ,\r
202 //EfiPciWidthUint8,\r
203 //0,\r
204 //0xFF,\r
205 //EfiPciWidthUint32,\r
206 //\r
207\r
208 //\r
209 // The end of the list\r
210 //\r
211 LIST_END_TAG\r
212};\r
213\r
214#endif\r