2 The incompatible PCI device list
4 Copyright (c) 2007 Intel Corporation. All rights reserved. <BR>
5 This software and associated documentation (if any) is furnished
6 under a license and may only be used or copied in accordance
7 with the terms of the license. Except as permitted by such
8 license, no part of this software or documentation may be
9 reproduced, stored in a retrieval system, or transmitted in any
10 form or by any means without the express written consent of
15 #ifndef _EFI_INCOMPATIBLE_PCI_DEVICE_LIST_H
16 #define _EFI_INCOMPATIBLE_PCI_DEVICE_LIST_H
18 #include <IndustryStandard/pci22.h>
19 #include <IndustryStandard/Acpi.h>
22 #define PCI_DEVICE_ID(VendorId, DeviceId, Revision, SubVendorId, SubDeviceId) \
23 VendorId, DeviceId, Revision, SubVendorId, SubDeviceId
25 #define PCI_BAR_TYPE_IO ACPI_ADDRESS_SPACE_TYPE_IO
26 #define PCI_BAR_TYPE_MEM ACPI_ADDRESS_SPACE_TYPE_MEM
28 #define DEVICE_INF_TAG 0xFFF2
29 #define DEVICE_RES_TAG 0xFFF1
30 #define LIST_END_TAG 0x0000
33 // descriptor for access width of incompatible PCI device
38 EFI_PCI_REGISTER_ACCESS_DATA PciRegisterAccessData
;
39 } EFI_PCI_REGISTER_ACCESS_DESCRIPTOR
;
42 // descriptor for register value of incompatible PCI device
47 EFI_PCI_REGISTER_VALUE_DATA PciRegisterValueData
;
48 } EFI_PCI_REGISTER_VALUE_DESCRIPTOR
;
52 // the incompatible PCI devices list for ACPI resource
54 GLOBAL_REMOVE_IF_UNREFERENCED UINT64 IncompatiblePciDeviceListForResource
[] = {
57 // PCI_DEVICE_ID (VendorID, DeviceID, Revision, SubVendorId, SubDeviceId),
59 // ResType, GFlag , SFlag, Granularity, RangeMin,
60 // RangeMax, Offset, AddrLen
63 // Device Adaptec 9004
66 PCI_DEVICE_ID(0x9004, DEVICE_ID_NOCARE
, DEVICE_ID_NOCARE
, DEVICE_ID_NOCARE
, DEVICE_ID_NOCARE
),
77 // Device Adaptec 9005
80 PCI_DEVICE_ID(0x9005, DEVICE_ID_NOCARE
, DEVICE_ID_NOCARE
, DEVICE_ID_NOCARE
, DEVICE_ID_NOCARE
),
94 PCI_DEVICE_ID(0x1077, DEVICE_ID_NOCARE
, DEVICE_ID_NOCARE
, DEVICE_ID_NOCARE
, DEVICE_ID_NOCARE
),
105 // Device Agilent 103C
108 PCI_DEVICE_ID(0x103C, DEVICE_ID_NOCARE
, DEVICE_ID_NOCARE
, DEVICE_ID_NOCARE
, DEVICE_ID_NOCARE
),
119 // Device Agilent 15BC
122 PCI_DEVICE_ID(0x15BC, DEVICE_ID_NOCARE
, DEVICE_ID_NOCARE
, DEVICE_ID_NOCARE
, DEVICE_ID_NOCARE
),
133 // The end of the list
139 // the incompatible PCI devices list for the values of configuration registers
141 GLOBAL_REMOVE_IF_UNREFERENCED UINT64 IncompatiblePciDeviceListForRegister
[] = {
144 // PCI_DEVICE_ID (VendorID, DeviceID, Revision, SubVendorId, SubDeviceId),
146 // PCI_ACCESS_TYPE, PCI_CONFIG_ADDRESS,
147 // AND_VALUE, OR_VALUE
150 // Device Lava 0x1407, DeviceId 0x0110
153 PCI_DEVICE_ID(0x1407, 0x0110, DEVICE_ID_NOCARE
, DEVICE_ID_NOCARE
, DEVICE_ID_NOCARE
),
156 PCI_CAPBILITY_POINTER_OFFSET
,
161 // Device Lava 0x1407, DeviceId 0x0111
164 PCI_DEVICE_ID(0x1407, 0x0111, DEVICE_ID_NOCARE
, DEVICE_ID_NOCARE
, DEVICE_ID_NOCARE
),
167 PCI_CAPBILITY_POINTER_OFFSET
,
172 // The end of the list
178 // the incompatible PCI devices list for the access width of configuration registers
180 GLOBAL_REMOVE_IF_UNREFERENCED UINT64 DeviceListForAccessWidth
[] = {
183 // PCI_DEVICE_ID (VendorID, DeviceID, Revision, SubVendorId, SubDeviceId),
185 // PCI_ACCESS_TYPE, PCI_ACCESS_WIDTH,
186 // START_ADDRESS, END_ADDRESS,
187 // ACTUAL_PCI_ACCESS_WIDTH,
194 //PCI_DEVICE_ID(0xXXXX, DEVICE_ID_NOCARE, DEVICE_ID_NOCARE, DEVICE_ID_NOCARE, DEVICE_ID_NOCARE),
204 // The end of the list