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
19 // Include common header file for this module.
21 #include "CommonHeader.h"
23 #include <IndustryStandard/pci22.h>
24 #include <IndustryStandard/Acpi.h>
27 #define PCI_DEVICE_ID(VendorId, DeviceId, Revision, SubVendorId, SubDeviceId) \
28 VendorId, DeviceId, Revision, SubVendorId, SubDeviceId
30 #define PCI_BAR_TYPE_IO ACPI_ADDRESS_SPACE_TYPE_IO
31 #define PCI_BAR_TYPE_MEM ACPI_ADDRESS_SPACE_TYPE_MEM
33 #define DEVICE_INF_TAG 0xFFF2
34 #define DEVICE_RES_TAG 0xFFF1
35 #define LIST_END_TAG 0x0000
38 // descriptor for access width of incompatible PCI device
43 EFI_PCI_REGISTER_ACCESS_DATA PciRegisterAccessData
;
44 } EFI_PCI_REGISTER_ACCESS_DESCRIPTOR
;
47 // descriptor for register value of incompatible PCI device
52 EFI_PCI_REGISTER_VALUE_DATA PciRegisterValueData
;
53 } EFI_PCI_REGISTER_VALUE_DESCRIPTOR
;
57 // the incompatible PCI devices list for ACPI resource
59 GLOBAL_REMOVE_IF_UNREFERENCED UINT64 IncompatiblePciDeviceListForResource
[] = {
62 // PCI_DEVICE_ID (VendorID, DeviceID, Revision, SubVendorId, SubDeviceId),
64 // ResType, GFlag , SFlag, Granularity, RangeMin,
65 // RangeMax, Offset, AddrLen
68 // Device Adaptec 9004
71 PCI_DEVICE_ID(0x9004, DEVICE_ID_NOCARE
, DEVICE_ID_NOCARE
, DEVICE_ID_NOCARE
, DEVICE_ID_NOCARE
),
82 // Device Adaptec 9005
85 PCI_DEVICE_ID(0x9005, DEVICE_ID_NOCARE
, DEVICE_ID_NOCARE
, DEVICE_ID_NOCARE
, DEVICE_ID_NOCARE
),
99 PCI_DEVICE_ID(0x1077, DEVICE_ID_NOCARE
, DEVICE_ID_NOCARE
, DEVICE_ID_NOCARE
, DEVICE_ID_NOCARE
),
110 // Device Agilent 103C
113 PCI_DEVICE_ID(0x103C, DEVICE_ID_NOCARE
, DEVICE_ID_NOCARE
, DEVICE_ID_NOCARE
, DEVICE_ID_NOCARE
),
124 // Device Agilent 15BC
127 PCI_DEVICE_ID(0x15BC, DEVICE_ID_NOCARE
, DEVICE_ID_NOCARE
, DEVICE_ID_NOCARE
, DEVICE_ID_NOCARE
),
138 // The end of the list
144 // the incompatible PCI devices list for the values of configuration registers
146 GLOBAL_REMOVE_IF_UNREFERENCED UINT64 IncompatiblePciDeviceListForRegister
[] = {
149 // PCI_DEVICE_ID (VendorID, DeviceID, Revision, SubVendorId, SubDeviceId),
151 // PCI_ACCESS_TYPE, PCI_CONFIG_ADDRESS,
152 // AND_VALUE, OR_VALUE
155 // Device Lava 0x1407, DeviceId 0x0110
158 PCI_DEVICE_ID(0x1407, 0x0110, DEVICE_ID_NOCARE
, DEVICE_ID_NOCARE
, DEVICE_ID_NOCARE
),
161 PCI_CAPBILITY_POINTER_OFFSET
,
166 // Device Lava 0x1407, DeviceId 0x0111
169 PCI_DEVICE_ID(0x1407, 0x0111, DEVICE_ID_NOCARE
, DEVICE_ID_NOCARE
, DEVICE_ID_NOCARE
),
172 PCI_CAPBILITY_POINTER_OFFSET
,
177 // The end of the list
183 // the incompatible PCI devices list for the access width of configuration registers
185 GLOBAL_REMOVE_IF_UNREFERENCED UINT64 DeviceListForAccessWidth
[] = {
188 // PCI_DEVICE_ID (VendorID, DeviceID, Revision, SubVendorId, SubDeviceId),
190 // PCI_ACCESS_TYPE, PCI_ACCESS_WIDTH,
191 // START_ADDRESS, END_ADDRESS,
192 // ACTUAL_PCI_ACCESS_WIDTH,
199 //PCI_DEVICE_ID(0xXXXX, DEVICE_ID_NOCARE, DEVICE_ID_NOCARE, DEVICE_ID_NOCARE, DEVICE_ID_NOCARE),
209 // The end of the list